說我有這樣一個字符串:「23423423」 我想找到所有長度爲2的數字,正則表達式就像這樣「[0-9] {2} 「用正則表達式匹配一定長度的字符串中的數字
現在在我的文本編輯這給了我7場比賽: 23,34,42,23,34,42,23
但是在C#中我似乎只得到4 23,42,34, 42
我需要第一種方案但找不到解決方案。
我試過regex.Match()和regex.Matches()沒有運氣。
任何人都知道如何?
說我有這樣一個字符串:「23423423」 我想找到所有長度爲2的數字,正則表達式就像這樣「[0-9] {2} 「用正則表達式匹配一定長度的字符串中的數字
現在在我的文本編輯這給了我7場比賽: 23,34,42,23,34,42,23
但是在C#中我似乎只得到4 23,42,34, 42
我需要第一種方案但找不到解決方案。
我試過regex.Match()和regex.Matches()沒有運氣。
任何人都知道如何?
This question有一些解決方案,以一個非常類似的問題,而且,適應他們的一個最簡單的,你可以使用類似:
Regex regexObj = new Regex("\d\d");
Match matchObj = regexObj.Match(subjectString);
while (matchObj.Success) {
matchObj = regexObj.Match(subjectString, matchObj.Index + 1);
}
解決,這將使用字符串操作容易得多。
(?=([0-9][0-9])).
將該正則表達式與Matches()方法一起使用,然後通過在每個Match對象上調用Group(1)來檢索匹配的數字。
但是你使用了什麼編輯器,你是如何得到它來執行重疊匹配的?這不是任何編輯器的正常行爲我使用了。
給出的正則表達式將與C#顯示的完全一致,將會看到我們可以做些什麼來使正則表達式退回1個字符並再次開始匹配。 – Lazarus 2009-08-19 15:29:58