我有例如如下文本之間忽略條件:JavaScript正則表達式的文本
"head1>data1,data2,data3|head2>data1,data2,data3|head3>data3,data4,data5**
現在我想用"|"
更換">data1..|"
我使用這個:".replace(/>\S+\||>\S+$/g,"|");"
但是這不起作用,因爲它給我的數據如下:
"head1|head3|"
而不是"head1|head2|head3|"
我找不到合適的方法。
我有例如如下文本之間忽略條件:JavaScript正則表達式的文本
"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,] + \ |
然後每次用單個|
替換它。
只是想知道爲什麼你在1小時後發佈完全相同的答案? –
使用'> \ S +?(?:\ || $)' –