【问题标题】:reg Exp javascript [duplicate]正则表达式 javascript [重复]
【发布时间】: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} 但它不起作用,有人可以帮我解决这个问题吗?

【问题讨论】:

  • 究竟是什么不工作?你有任何错误信息吗?

标签: javascript regexp-replace


【解决方案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) 

【讨论】:

  • 谢谢,它成功了。
猜你喜欢
  • 2023-03-23
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 1970-01-01
相关资源
最近更新 更多