設計正規表示式測試器時,取得使用者輸入並將其轉換為有效的正規表示式可能是一個挑戰。如果不要求使用者將輸入括在 // 分隔符號中,他們將無法指定 g 和 i 等標誌。然而,在表達式周圍包含 // 會產生不同的障礙:將字串轉換為正規表示式。
使用 RegExp 建構子的解決方案:
解決方案在於利用RegExp 物件建構子。透過傳遞正規表示式字串和任何所需的標誌,您可以直接建立正規表示式:
<code class="javascript">var re = new RegExp("a|b", "i");</code>
這相當於簡寫符號:
<code class="javascript">var re = /a|b/i;</code>
這種方法允許您接受使用者輸入作為字串,將其提取到變數中,並使用它通過適當的標誌構造正規表示式。您不需要解析字串或標誌,並且可以保留 RegExp 建構函數的靈活性。
範例實作:
在HTML 程式碼中,您可以提示使用者輸入正規表示式(包含// 分隔符號)並將其儲存在變數中:
<code class="html"><input type="text" id="regex"></code>
在JavaScript 程式碼中,按一下按鈕後:
<code class="javascript">var regexInput = document.getElementById('regex').value; var re = new RegExp(regexInput); // Use the re variable for your regular expression operations</code>
此程式碼將接受使用者的輸入,包括// 分隔符,並使用提供的語法轉換為正規表示式。
以上是如何在 JavaScript 中將使用者輸入字串轉換為有效的正規表示式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!