2013-04-17 23 views
0

我試圖用12312345435這樣的數字序列替換序列片段「123」,並從頭開始刪除重複序列123。因此,在替換之後,新的數字序列將如下所示:12345435.我也可能有123123123123,但我想修剪序列中的第一個123,並保持原樣。如何在Javascript中使用正則表達式來做到這一點?使用正則表達式替換一個數字序列

+0

你期待' 「123123123123」'什麼輸出? ' 「123123123」'? – Engineer

+0

這是一個詭計問題嗎? – JJJ

+0

[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)。請查看[正則表達式基礎](http://www.regular-expressions.info/)以獲得基本的理解。 – speakr

回答

1

我想你應該簡單地使用正則表達式如下:

Txt.replace(/123((123)+)/,"$1"); 

該正則表達式包含序列123至少兩次任意字符串匹配。所以說有5次出現這個序列(空格在這裏使它更易讀):123 123 123 123 123,那麼$1的內容是123 123 123 123(再一次,這裏的空格只是爲了便於閱讀,而不是如果它們工作的話被插入代碼中)。

然後您可以用$1的內容替換命中。

-1

您必須在字符串的開頭找到第一個出現「123」的字符串,並用空字符串替換。

var patt = /^(123)/; 
"123123123".replace(patt, "") 
"12312345435".replace(patt, "") 

欲瞭解更多信息,請查閱this

+0

如果值是「123456」?確切地說,你的正則表達式會修剪「123」,而不應該修剪它。 –