正则表达式匹配字符串与重复字符

时间:2013-03-12 20:15:07

标签: regex

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

有些文字在这里357313更多文字在这里654321

有些文字在这里123456更多文字在这里123456

有些文字在这里123456更多文字在这里654321

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

任何帮助或帮助都将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:1)

匹配

之类的行

[某些字符] [某些数字] [某些字符] [与之前相同的数字] [某些字符]

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

是你在寻找什么?

编辑:

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

使shure [某些字符]没有数字

答案 1 :(得分:0)

我相信你想要的东西如下,它假设你想要一些或多个匹配的文字后面跟着你的唯一字符串。

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

我刚刚意识到你实际上可能正在寻找不止一次包含相同字符序列的字符串。对我来说,这似乎不是一个适合正则表达式的问题。虽然有可能对更高级的正则表达式用户,我会说编写这样一个复杂的正则表达式可能不是一个好主意。我会推荐你​​http://en.wikipedia.org/wiki/Longest_common_substring_problem,它可能包含适用于此处的信息。

相关问题