2013-03-12 297 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