JavaScript正则表达式格式转换求助:将指定Regex转为RegExp构造函数形式
把正则表达式转换成RegExp构造函数写法
没问题,这就帮你完成转换,先直接给你最终的代码:
new RegExp('o|a|os|as' + '\\$' + '\\b', 'i')
转换的关键点说明:
- 原正则
(o|a|os|as$)\b里的捕获分组(...)如果不需要捕获匹配内容,可以直接去掉,简化成分支匹配的形式; - 正则里的特殊字符
$和\b在字符串形式中需要双重转义:$要写成\\$,\b要写成\\b; - 把
\\$单独拆分拼接是为了让代码更清晰,避免和前面的as连在一起导致转义逻辑混淆; - 最后的
'i'修饰符表示开启不区分大小写的匹配模式,和你给出的目标格式完全一致。
如果需要保留原正则的捕获分组,也可以写成这样:
new RegExp('(o|a|os|as)' + '\\$' + '\\b', 'i')
内容的提问来源于stack exchange,提问作者Henrique Rodrigues
相关产品推荐
相关产品推荐

