正则表达式 javascript [重复]

Posted

技术标签:

【中文标题】正则表达式 javascript [重复]【英文标题】:reg Exp javascript [duplicate] 【发布时间】:2020-08-23 23:36:18 【问题描述】:

我对动态正则表达式有疑问。这是示例

var searchStr = "C:\\Users\\fds\\Desktop\\Node"
num = 2
var p ='([a-zA-Z]*:1(\\[a-zA-Z]*)'+num+')'
var p1 = new RegExp(p,"gi")
console.log(p1)
let wabpath = searchStr.replace(p1,"")
console.log(wabpath) 

我正在尝试动态传递 num 但它不起作用,有人可以帮我解决这个问题吗?

【问题讨论】:

究竟是什么不工作?你有任何错误信息吗? 【参考方案1】:

您在正则表达式中使用了反斜杠。但它们充当转义字符。如果你想匹配实际的反斜杠,你也需要转义它们。在您的情况下,您需要对两个反斜杠进行分隔,从而连续四个。

var searchStr = "C:\\Users\\fds\\Desktop\\Node"
num = 2
var p ='([a-zA-Z]*:1(\\\\[a-zA-Z]*)'+num+')'
var p1 = new RegExp(p,"gi")
console.log(p1)
let wabpath = searchStr.replace(p1,"")
console.log(wabpath) 

【讨论】:

谢谢,它成功了。

以上是关于正则表达式 javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章

多行格式化的 JavaScript 正则表达式 [重复]

在javascript匹配中获取正则表达式的单独部分[重复]

javascript正则表达式数字范围格式检查[重复]

正则表达式否定后向在 JavaScript 中无效 [重复]

JavaScript正则表达式,这一篇足矣

javascript从正则表达式中删除g [重复]