문자열이 있다고 가정 해 봅시다.특정 패턴까지 문자열 일치
"hello world; some random text; foo;"
';'까지 모든 것을 어떻게 선택할 수 있습니까? 즉
나는 첫 번째 일치가되고 싶어요 :"hello world"
는
두 번째 경기가 될 " some random text"
등 내가 시도
일 :
string s = "hello world; some random text; foo;";
Regex r = new Regex(".+?;");
var match = r.Match(s);
while(match.Success)
{
Console.WriteLine(match.Value.ToString());
// first match is "hello world"!! but this turns out to be an infinite loop
match.NextMatch();
}
I을 내가 Regex.Split() 메서드를 사용할 수 있다는 것을 알고 있지만이 기술을 사용하고 싶다 ... 내가 뭘 잘못하고 있니? match.NextMatch();
메서드가 다음 경기를 반환하지 않는 이유는 무엇입니까?
을 * "나는 내가'Regex.Split()'방법을 사용할 수 있습니다 알고 있지만 내가 intead이 기술을 사용하려면"* - 왜 ... 그래서, 휠씬 재발견하는 것보다 휠체어가 필요할 때, 그리고 휠씬 능률적 일 것입니다. – Yuck
'내가 뭘 잘못하고 있니? '잘못된 기술을 사용하고 있습니다. 'Regex.Split'을 사용하십시오. 아니면이 간단한 예제에서'string.Split'을 사용하면됩니다. – vcsjones
여러 일치를 찾으려는 더 긴 정규 표현식을 작성 중이기 때문입니다. 이 문제로 인해 정규 표현식의 중간에 붙어 있습니다 ... –