我有一个文本如下:"head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5**
现在我想用">data1..|"
替换"|"
我正在使用这个:".replace(/>\S+\||>\S+$/g,"|");"
但这无济于事,因为它为我提供了以下数据:"head1|head3|"
代替"head1|head2|head3|"
我找不到正确的方法。
最佳答案
您可以使用
>\S+?(?:\||$)
请参见regex demo
关键是使
\S+
变得懒惰,并缩短模式,我们可以将>\S+?
放在交替组之前。图案细节:
>\S+?
-文字>
,后跟1+个非空格符号,但尽可能少直到(?:\||$)
-文字|
或字符串的结尾。关于javascript - javascript正则表达式忽略文本之间的条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38352712/