C# Language
정규식 파싱
수색…
통사론
-
new Regex(pattern);
// 정의 된 패턴을 사용하여 새 인스턴스를 만듭니다. -
Regex.Match(input);
// 검색을 시작하고 Match를 반환합니다. -
Regex.Matches(input);
// 조회를 시작하고 MatchCollection을 반환합니다.
매개 변수
이름 | 세부 |
---|---|
무늬 | 검색에 사용해야하는 string 패턴입니다. 자세한 내용은 msdn을 참조하십시오. |
RegexOptions [선택 사항] | 여기에 일반적인 옵션은 Singleline 과 Multiline 입니다. Multiline-Mode 에서 SingleLine-Mode Multiline-Mode 에서 NewLine (\ n)을 다루지 않는 도트 (.)와 같은 패턴 요소의 동작을 변경합니다. 기본 동작 : msdn |
제한 시간 [선택 사항] | 패턴이 복잡 해지면 조회가 더 많은 시간을 소비 할 수 있습니다. 이것은 네트워크 프로그래밍에서 알려진 것처럼 조회에 대해 전달 된 시간 초과입니다. |
비고
사용 필요
using System.Text.RegularExpressions;
가져서 좋다
- 현재 결과를 얻을 솔루션을 컴파일 할 필요없이 온라인으로 패턴을 테스트 할 수 있습니다 : 나를 클릭
- Regex101 예 : 나를 클릭하십시오.
특히 초보자는 강력하고 적절한 텍스트 기반 룩업을위한 적절한 장소에서 느끼기 때문에 정규 표현식을 사용하여 과도한 작업을하는 경향이 있습니다. 이것은 사람들이 XmlDocument
와 같은이 작업을 위해 이미 완료된 클래스가있을 수 있는지 스스로 묻지 않고 xml 문서를 정규식으로 파싱하려고 시도하는 지점입니다.
Regex는 또 다른 복잡성을 선택하는 마지막 무기 여야합니다. 적어도 20 줄의 패턴을 작성하기 전에 right way
을 찾기 위해 어떤 노력을 기울이는 것을 잊지 마십시오.
단일 경기
using System.Text.RegularExpressions;
string pattern = ":(.*?):";
string lookup = "--:text in here:--";
// Instanciate your regex object and pass a pattern to it
Regex rgxLookup = new Regex(pattern, RegexOptions.Singleline, TimeSpan.FromSeconds(1));
// Get the match from your regex-object
Match mLookup = rgxLookup.Match(lookup);
// The group-index 0 always covers the full pattern.
// Matches inside parentheses will be accessed through the index 1 and above.
string found = mLookup.Groups[1].Value;
결과:
found = "text in here"
여러 경기
using System.Text.RegularExpressions;
List<string> found = new List<string>();
string pattern = ":(.*?):";
string lookup = "--:text in here:--:another one:-:third one:---!123:fourth:";
// Instanciate your regex object and pass a pattern to it
Regex rgxLookup = new Regex(pattern, RegexOptions.Singleline, TimeSpan.FromSeconds(1));
MatchCollection mLookup = rgxLookup.Matches(lookup);
foreach(Match match in mLookup)
{
found.Add(match.Groups[1].Value);
}
결과:
found = new List<string>() { "text in here", "another one", "third one", "fourth" }
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow