我已经看过很多关于此类问题的类似问题,但它们并没有解决我的问题...
这是我必须匹配的字符串:“| 6 [1] |”其中“6”是我必须放在正则表达式中的变量。
我尝试创建一个(pid是包含数字的变量):
var filter = new RegExp("/\|"+pid+"[\d*\]\|/");
看起来无法正常使用。.尝试使用Chrome控制台
最佳答案
从字符串构造正则表达式时,不需要/
分隔符:
var filter = new RegExp("\|"+pid+"[\d*\]\|");
/
token 用于向解析器表示正则表达式文字的开始/结尾,就像"
和'
token 表示字符串文字的开始/结尾一样。在这种情况下,您使用的是字符串文字,因此不需要regexp文字分隔符。您的实际正则表达式无法正常工作,因为:
因此,工作代码应为:
var filter = new RegExp("\\|"+pid+"\\[\\d*\\]\\|");
// ^ ^^ ^ ^ ^ Add in these backslashes