가 나는 아래의 문자열에서 데이터를 취득하는 정규 표현식을 사용하고, 내 정규 표현식에 문제로 실행 :. *이 정규식의 전체 (나머지) 문자열과 일치하지 않는 이유는 무엇입니까?
String sFeedback = Regex.Match(Message, @"\[Feedback\]\:(?<string>.*?)\r\n\r\t\n# DO NOT EDIT THIS MAIL BY HAND #").Groups[1].Value;
이 작품 :
"# DO NOT EDIT THIS MAIL BY HAND #\r\n\r\n[Feedback]:hallo\r\n\r\n# DO NOT EDIT THIS MAIL BY HAND #\r\n\r\n"
에게 지금까지 나는 작업을 얻었다 헤더가 변경된 경우를 제외하고는 정규 표현식을 [feedback]:
에서 문자열 끝까지 읽으려고합니다. (문자, 아스키, 모든 것을 ..)
나는 시도 : 정규 표현식 위 \[Feedback]:(?<string>.*?)$
온라인 어떤 정규 표현식 빌더에서 작업을 수행하지만이 작동하지 않습니다 내 C# 코드에서와 빈 문자열을 반환합니다. 뭐가 문제 야?
주어진 문자열에서 원하는 결과는 무엇입니까? –
나는 [피드백]에서 모든 문자를 얻고 싶습니다 : ...... 문자열의 끝까지 숫자/문자/기호/다른 언어 일 수 있습니다. – Greezer
@Benjol 그것은 가장 작은 순서 가장 긴 대신 작동합니다. 예를 들어 문자열 'aabaab'에서'. * b'는'aabaab'과 일치하지만'. *? b'는'aab'과 일치합니다. 이 경우에는 문자열/줄 마커의 끝 부분이 바로 따라 오므로 가장 짧고 긴 일치가 동일하므로 무의미합니다. – verdesmarald