如何将字符串转换为正则表达式字符串,正确转义所有正则表达式特定字符?我正在使用插值来构建正则表达式字符串,以允许用户自定义正则表达式而无需接触代码(或期望他们知道正则表达式)
例子
custom_text = "Hello"
my_regex = /#{custom_text}:\s*(\d+)/i
当我的代码使用它时,这会导致以下正则表达式
/Hello:\s*(\d+)/i
这允许用户提供语言本地化,而不必担心弄清楚我的正则表达式在哪里使用、它是如何使用的,或者如果他们更改了某些内容是否会破坏脚本。
但是,如果他们想包含句点或问号之类的东西Hello?
,我可能需要先将它们转义。