C \ # 정규 표현 식 Regex 클래스

6348 단어 정규 표현 식
C \ # 정규 표현 식 Regex 류 의 사용 C \ # 에서 정규 표현 식 의 사용 에 매우 강력 한 기능 을 제공 합 니 다. 이것 이 바로 Regex 류 입 니 다.이 가방 은 System. Text. Regular Expressions 네 임 스페이스 아래 에 포함 되 어 있 으 며, 이 네 임 스페이스 가 있 는 DLL 은 기본적으로 모든 프로젝트 템 플 릿 에 인용 을 따로 추가 하지 않 아 도 되 며, 직접 사용 할 수 있 습 니 다.
1. Regex 클래스 의 인 스 턴 스 를 정의 합 니 다.
Regex regex = new Regex(@"\d");이 초기 화 매개 변 수 는 정규 표현 식 입 니 다. "\ d" 는 설정 숫자 를 표시 합 니 다.
2. 일치 여부 판단
정규 표현 식 과 일치 하 는 문자열 을 판단 합 니 다. Regex 대상 에서 Regex. IsMatch (string) 방법 을 사용 할 수 있 습 니 다.regex.IsMatch("abc"); //반환 값 은 false 입 니 다. 문자열 에 숫자 regex. IsMatch ("abc 3abc") 가 포함 되 어 있 지 않 습 니 다. /문자열 에 숫자 가 포함 되 어 있 기 때문에 반환 값 은 true 입 니 다.
3. 일치 하 는 횟수 획득
Regex. Matches (string) 방법 을 사용 하여 Matches 집합 을 얻 고 이 집합의 Count 속성 을 사용 합 니 다.regex.Matches("abc123abc").Count; 세 번 의 숫자 가 일치 하기 때문에 반환 값 은 3 입 니 다.
4. 일치 하 는 내용 가 져 오기
Regex. Match (string) 방법 으로 일치 합 니 다.regex.Match("abc123abc").Value;반환 값 은 1 로 첫 번 째 일치 하 는 값 을 표시 합 니 다.
5. 포획
정규 표현 식 에 서 는 괄호 로 부분 값 을 캡 처 할 수 있 습 니 다. 캡 처 된 값 을 가 져 오 려 면 Regex. Match (string). Groups [int]. Value 를 사용 하여 가 져 올 수 있 습 니 다.Regex regex = new Regex(@"\w(\d*)\w"); //두 글자 사이 의 숫자 문자열 regex. Match ("abc 123 abc") 와 일치 합 니 다. Groups [0]. Value; /반환 값 은 "123" 입 니 다.
 
using System;  

using System.Text.RegularExpressions;   

namespace Magci.Test.Strings  

{      

    public class TestRegular      

    {          

        public static void WriteMatches(string str, MatchCollection matches)          

        {              

            Console.WriteLine("
String is :
" + str); Console.WriteLine("No. of matches : " + matches.Count); foreach (Match nextMatch in matches) { // 10 int Index = nextMatch.Index; string result = nextMatch.ToString(); int charsBefore = (Index < 5) ? Index : 5; int fromEnd = str.Length - Index - result.Length; int charsAfter = (fromEnd < 5) ? fromEnd : 5; int charsToDisplay = charsBefore + result.Length + charsAfter; Console.WriteLine("Index: {0},\tString: {1},\t{2}", Index, result, str.Substring(Index - charsBefore, charsToDisplay)); } } public static void Main() { string Str = @"My name is Magci, for short mgc. I like c sharp!"; // “gc” string Pattern = "gc"; MatchCollection Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); WriteMatches(Str, Matches); // “m” ,“c” Pattern = @"\bm\S*c\b"; Matches = Regex.Matches(Str, Pattern, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture); WriteMatches(Str, Matches); } } }

 
http://www.splaybow.com/csharp-regex-class.shtml
http://developer.51cto.com/art/200908/144164.htm

좋은 웹페이지 즐겨찾기