2012-07-09 102 views
0

我寫的jQuery代碼會刪除字符的每一秒發生,選擇每一秒發生|代碼「」。如何使用正則表達式

有麻煩寫作的正則表達式吧。

如何指定的每一秒出現「|」使用正則表達式?

+0

是否包含空白或者您只對管道感興趣? – Bergi 2012-07-09 23:06:52

回答

2

你必須匹配2個管道,並更換第二個:

theString.replace(/\|([^|]*)\|/g, '|$1'); 

這裏的小提琴:http://jsfiddle.net/CAvT4/

+0

甚至'theString.replace(/(\ | [^ |] *)\ | /克, '$ 1');'。 – MRAB 2012-07-09 23:03:58

+0

@MRAB - 絕對正確。儘管死記硬背,但我總是儘量減少捕獲的字符數量。 – 2012-07-09 23:05:46

0

更換

(?<=.*\|.*)\| 

用空字符串

這將改變

test | test || test | test || 
test ||| 

test | test test test 
test | 

我先解釋你的問題的崩潰多次出現| 1此正則表達式將解決

更換

\|{2,} 

隨着

| 

您使用什麼語言?

+0

OP使用Javascript,它不支持逆向查看。 – 2012-07-09 23:09:20

+0

出於好奇,這裏提到了哪裏? Ic Bergi也添加了標籤 – buckley 2012-07-09 23:11:51

+0

OP寫道「jQuery」。我發現只有當約瑟夫提到他會知道這是js :-) – Bergi 2012-07-09 23:46:15

1

,你必須符合2個管道做一些事情(此處刪除)每秒之一。

string.replace(/(\|.*?)\|/g, "$1");