JavaScript正则表达式忽略文本之间的条件

javascript regular expression ignore condition between the text

本文关键字:之间 条件 文本 正则表达式 JavaScript      更新时间:2023-09-26

我有一个文本,例如:

"head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5**

现在我想用"|"替换">data1..|"

我正在使用这个:".replace(/>'S+'||>'S+$/g,"|");"

但这无济于事,因为它为我提供了以下数据:

"head1|head3|"而不是"head1|head2|head3|"

我找不到正确的方法。

您可以使用

>'S+?(?:'||$)

查看正则表达式演示

关键是要使'S+惰,并且为了缩短模式,我们可以使用将>'S+?放在交替组之前。

图案详情

  • >'S+? - 文字>后跟 1+ 非空格符号,但尽可能少,直到
  • (?:'||$) - 文字|或字符串的结尾。
:)一个简单的

方法,是这样尝试的

var str = "head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5";
console.log(str.replace(/>[a-z1-9,]+/g,"|").replace(/'|+/g, "|"));

>[a-z1-9,]+将选择>data1,data2,data3

然后用单个|替换多个|

:)

您可以使用:

>[a-z0-9,]+''|

然后每次都用单个|替换它。