수색…


통사론

  • new Regex(pattern); // 정의 된 패턴을 사용하여 새 인스턴스를 만듭니다.
  • Regex.Match(input); // 검색을 시작하고 Match를 반환합니다.
  • Regex.Matches(input); // 조회를 시작하고 MatchCollection을 반환합니다.

매개 변수

이름 세부
무늬 검색에 사용해야하는 string 패턴입니다. 자세한 내용은 msdn을 참조하십시오.
RegexOptions [선택 사항] 여기에 일반적인 옵션은 SinglelineMultiline 입니다. Multiline-Mode 에서 SingleLine-Mode Multiline-Mode 에서 NewLine (\ n)을 다루지 않는 도트 (.)와 같은 패턴 요소의 동작을 변경합니다. 기본 동작 : msdn
제한 시간 [선택 사항] 패턴이 복잡 해지면 조회가 더 많은 시간을 소비 할 수 있습니다. 이것은 네트워크 프로그래밍에서 알려진 것처럼 조회에 대해 전달 된 시간 초과입니다.

비고

사용 필요

using System.Text.RegularExpressions;

가져서 좋다


특히 초보자는 강력하고 적절한 텍스트 기반 룩업을위한 적절한 장소에서 느끼기 때문에 정규 표현식을 사용하여 과도한 작업을하는 경향이 있습니다. 이것은 사람들이 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