Saya merancang penguji ekspresi reguler dalam HTML dan JavaScript. Pengguna akan memasukkan regex, string, dan memilih fungsi yang ingin mereka uji (mis. Mencari, mencocokkan, mengganti, dll.) Melalui tombol radio dan program akan menampilkan hasil ketika fungsi itu dijalankan dengan argumen yang ditentukan. Tentu akan ada kotak teks tambahan untuk menggantikan argumen tambahan dan semacamnya.
Masalah saya adalah mendapatkan string dari pengguna dan mengubahnya menjadi ekspresi reguler. Jika saya mengatakan bahwa mereka tidak perlu memiliki //
sekitar regex yang mereka masukkan, maka mereka tidak dapat mengatur bendera, seperti g
dan i
. Jadi mereka harus memiliki //
sekitar ekspresi, tetapi bagaimana saya bisa mengubah string itu menjadi sebuah regex? Ini tidak bisa menjadi literal karena sebuah string, dan saya tidak bisa meneruskannya ke konstruktor RegExp karena itu bukan string tanpa //
's. Apakah ada cara lain untuk membuat string input pengguna menjadi sebuah regex? Apakah saya harus mengurai string dan bendera regex dengan //
's kemudian membangunnya dengan cara lain? Haruskah saya minta mereka memasukkan string, dan kemudian memasukkan bendera secara terpisah?