2013-04-17 13 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”,而不应该修剪它。 –