2013-03-12 296 views
-1

我正在寻找使用正则表达式来匹配具有多个相同文本实例的字符串。因此,例如在这个例子中:重复字符匹配正则表达式匹配字符串

一些文本放在这里357313更多的文字放在这里654321

一些文本放在这里123456更多的文字放在这里123456

一些文本放在这里123456更多的文字放在这里654321

我希望它匹配第二个选项,而不是第一个和第三个选项。我对正则表达式相当陌生,但花了数小时在网上试图找出是否有解决这个问题的办法。字符串不知道为了在搜索中使用它们,我需要使用正则表达式来判断它们是否匹配。

任何帮助或援助,将不胜感激!

谢谢!

+0

如何* \ 1 – user1937198 2013-03-12 20:18:37

+1

你能解释为什么第一和第三行应该不匹配?两者都有重复的文字:“文字在这里”。 – 2013-03-12 20:19:00

+0

好点,文字在这些区域重复,但唯一分开我需要的字符串是数字字符串匹配。 – 2013-03-12 20:39:40

回答

0

我相信你需要像下面这样的东西,它假定你想要一个或多个文本匹配你的唯一字符串。

/^(.+123456){1,}$/

我才意识到你实际上可能会寻求查找包含不止一次相同的字符序列串。这似乎并不像一个适合我的正则表达式。虽然对更高级的正则表达式用户可能是可能的,但我可以说写出如此复杂的正则表达式可能不是一个好主意。我会引用你http://en.wikipedia.org/wiki/Longest_common_substring_problem这可能有适用于此的信息。

+0

感谢您的意见。我不知道搜索模式是什么,我只知道我想要的字段是匹配字符串的字段。我相信你是正确的,这可能不是正则表达式可以处理的。 – 2013-03-12 20:33:07

1

此匹配像

线[某些字符] [某些数字] [某些chracters] [相同的数字像以前] [某些字符]

/.+(\d+).+$1.+/

是,你是什么寻找?

编辑:(。*)。

/[^\d]+(\d+)[^\d]+$1[^\d]+/

使舒尔[一些字符]没有数字

+0

是的,那正是我在找的!必须使用\ 1在搜索后面回想起模式,但似乎找到了正确的条目。感谢您的帮助! – 2013-03-12 21:04:44

+0

请将此问题标记为已回答(带复选标记) – 2013-03-12 22:59:02