0

我正在尝试使用 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. 如何$1在不让 JavaScript 随意插入斜杠的情况下使用 -style 反向引用?

4

2 回答 2

3

使用字符串作为第二个参数:

result = line.replace( /(\S+) <- (\S+)/, "$1 = $2" );.

发生的事情是第二个参数被强制从 aRegExp到 a String,它在替换中添加了斜杠。

于 2013-07-31T12:49:23.440 回答
0

替换的第二个参数不是正则表达式而是字符串。

你需要像这样使用它:

result  = line.replace( /(\S+) <- (\S+)/, '$1 = $2' );
于 2013-07-31T12:50:14.177 回答