Javascript 正则表达式替换插入额外的斜杠
Javascript regex replace inserts extra slashes
我正在尝试使用JavaScript清理文件。该文件包含如下文本行:
a <- b + c / d;
当<-
两侧有一串非空格时,我想用=
替换所有<-
,由一个空格分隔。理论上很容易:
line = "a <- b + c / d"
result = line.replace( /('S+) <- ('S+)/, /$1 = $2/ )
上面的代码在运行时会产生/a = b/ + c / d
。但是,从概念上讲,它应该产生a = b + c / d
.如何在不让 JavaScript 有机会随意插入斜杠的情况下使用 $1
样式的反向引用?
对第二个参数使用字符串:
result = line.replace( /('S+) <- ('S+)/, "$1 = $2" );
.
正在发生的事情是第二个参数正在从RegExp
强制转换为String
,这会在替换中添加斜杠。
替换的第二个参数不是正则表达式,而是字符串。
你需要像这样使用它:
result = line.replace( /('S+) <- ('S+)/, '$1 = $2' );
相关文章:
- 如何用正则表达式替换特定的JavaScript注释
- 用特定的javascript正则表达式替换每个单词
- 如何用JavaScript正则表达式替换href中的所有内容
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- Javascript 正则表达式替换为转义的反斜杠
- 使用 JavaScript 正则表达式替换文本中的类似字符串
- 在特殊标记之外使用 JavaScript 正则表达式替换
- 如何使用 javascript 在正则表达式替换中表示大括号
- 在字符串 JavaScript 中使用正则表达式替换
- 用Javascript正则表达式替换iframe到可点击的YouTube链接
- JS正则表达式替换编号
- 正则表达式:替换javascript中的字符串
- Javascript正则表达式替换以转换文本
- 正则表达式替换为插入符号
- 在javascript中用正则表达式替换空格
- 用正则表达式替换javascript
- 使用 JavaScript 正则表达式替换和递增整数值
- JS 正则表达式:替换字符串中的所有数字
- 正则表达式替换
- JS - 正则表达式替换在一次调用中发生多次,如何让它运行一次