2009-08-19 6 views
0

"23423423" 과 같은 문자열이 있다고 가정 해 봅시다. "길이가 2 인 모든 숫자를 정규식으로"[0-9] {2} "정규 표현식으로 특정 길이의 문자열에 일치하는 숫자

지금 내 문서 편집기이 나에게 7 경기를 제공합니다 23, 34, 42, 23, 34, 42,

(23)는 그러나 C#에서 난 단지 4 23, 42, 34을 받고있는 것으로 보인다, 42

첫 번째 시나리오가 필요하지만 해결책을 찾을 수 없습니다.

나는 행운과 함께 regex.Match()와 regex.Matches()를 시도했다.

누구나 알고 계십니까? 문자열 조작을 사용하여 훨씬 쉬울 것이 해결

Regex regexObj = new Regex("\d\d"); 
Match matchObj = regexObj.Match(subjectString); 
while (matchObj.Success) { 
    matchObj = regexObj.Match(subjectString, matchObj.Index + 1); 
} 
+0

주어진 정규식은 C#이 표시된 것과 정확히 일치합니다. 우리가 정규식이 1 문자 씩 뒤로 이동하고 다시 일치를 시작할 수 있도록하는 것을 볼 수 있습니다. – Lazarus

답변

5

This question 당신은 같은 것을 사용할 수 있습니다, 그 중 가장 간단한 하나를 적응, 매우 비슷한 문제에 어떤 해결책을 가지고 있으며. 성냥() 메소드와 정규식

0
(?=([0-9][0-9])). 

사용 후 (1) 일치 객체의 각 그룹을 호출하여 일치하는 번호를 검색 할 수 있습니다.

하지만 사용하는 편집기는 무엇이며 중복 된 일치를 수행하는 방법은 무엇입니까? 그것은 어떤 편집기에 대해서도 정상적인 동작이 아닙니다. 을 사용했습니다.

관련 문제