C \ # 의 정규 표현 식 (1) - 기초 편

22548 단어 정규 표현 식
본문 을 공부 하기 전에 아래 의 문 서 를 읽 고 연습 할 수 있 습 니 다. 이것 은 제 가 읽 은 정규 중에서 가장 좋 은 글 입 니 다.
. NET 진급 시리즈 중 하나: C \ # 정규 표현 식 정리 메모 > > 전송 문
이 박문 에 의존 하여 정규 표현 식 을 기본적으로 배 웠 습 니 다!블 로 거 감사합니다!
WinForm 코드 세 션 에서 참조 할 네 임 스페이스:
1 using System.Text.RegularExpressions;

통계 일치 팝 업 상자:
1            // MessageBox.Show("r match:"+r.Match(i).Value);

2 

3            // MessageBox.Show(r.IsMatch(i).ToString() + "," + r.Matches(i).Count);

 
관련 연습 (상기 글 에서 자신의 연습 참조): 1. @ / 의 용법:
1             /*@*/

2             //    "/","""             ;

3             //  "/"    

2. 기본 문법 문자:
 1             /*      */

 2             //string i = "123?!_";

 3             //Regex r = new Regex(@"\d");//true   

 4             //Regex r = new Regex(@"\D");//true     \d   

 5             //Regex r = new Regex(@"\w");//true     ,a-z,A-Z,0-9,_

 6             //Regex r = new Regex(@"\W");//true \w   

 7             //Regex r = new Regex(@"\s");//false     (      
, \r, \t, \v, \f)
8 //Regex r = new Regex(@"\S");//true \s 9 //Regex r = new Regex(".");//true
10 //Regex r = new Regex("[...]");//false [] 11 //Regex r = new Regex("[5-6]");//flase 12 //Regex r = new Regex("[^...]");//true []

3. 위치 문자:
 1             /*    */

 2             //string i = "Live for nothing,Die for nothing!";

 3             //Regex r = new Regex("^for nothing");//flase ^                   

 4             //Regex r = new Regex("^Live for");//true 

 5 

 6             //Regex r = new Regex("nothing$");//false $                    

 7             //Regex r = new Regex("nothing!$");//true

 8 

 9             /*string i = @"Live for nothing,

10 Die for nothing!";//  */

11             /*Regex r = new Regex(@"^Live for nothing,

12 Die for nothing!");//true*/

13             //Regex r = new Regex("^Live for nothing,\r
Die for nothing!$");
//true 14 //Regex r = new Regex("^Live for nothing,\r
$",RegexOptions.Multiline);
//false ??? 15 // , Multiline ,^ $ 16 17 //string i = "Live for nothing,Die for no thing!"; 18 //Regex r = new Regex(@"thing\b");//true,2; b: ;B: 19 //Regex r = new Regex(@"\bthing\b");//true,1; 20 //Regex r = new Regex(@"\bfor nothing");//true,1; 21 //Regex r = new Regex(@"\bfor nothing\b");//true,1;

4. 반복 설명 문자:
 1             /*      */

 2             //string i = "1024";//true,1

 3             //string i = "-1023";//true,1

 4             //string i = "-12.12";//false

 5             //Regex r = new Regex(@"^\+?\-?[0-9].?\d{3}$");//  +  - 1(.)000

 6 

 7             //string i = "[email protected]";//true ,1

 8             //string i = "dong3580@";

 9             //Regex r = new Regex(@"^\w+@\w+.[a-z]+");//  email  

10             

5. 일치 하 는 것 을 선택:
 1             /*     ( | ) or  */

 2             //string i = "0";       //F T 1

 3             //string i = "0.23";  //F T 1

 4             //string i = "100";   //T F 1

 5             //string i = "100.01";//F F 0

 6             //string i = "9.9";   //F T 1

 7             //string i = "99.9";  //F T 1

 8             //string i = "99.";   //F F 0

 9             //string i = "00.1";  //F F 0

10             //Regex r = new Regex(@"^\+?((100(.0+)*)|([1-9]?[0-9])(\.\d+)*)$");//^\+?((100(\.0)?)|([1-9]?[0-9])(\.\d+)?)$
11
// 0 100 。 “(100(.0+)*)”,“([1-9]?[0-9])(\.\d+)*”, “OR” , 100, , ( [0,100) )。

6. 그룹 과 비 포획 그룹:
 1             /*      */

 2             //string i = "Live for nothing,Die for something!";

 3             //Regex r = new Regex(@"^Live ([a-z]{3}) no([a-z]{5}),Die \1 some\2!$");//True,1

 4             //          “()”       ,    “ ”,               。     “\1”,                 ,             ,“\2”     。

 5             

 6             //Regex r = new Regex(@"^Live for no([a-z]{5}),Die for some\1!$");//True,1

 7             //MessageBox.Show("Group1 value:"+r.Match(i).Groups[1].Value);//  thing

 8             //       。  ,   Groups[1],  Groups[0]         ,     x   。

 9             

10             //Regex r = new Regex(@"^Live for no(?<g1>[a-z]{5}),Die for some\1!$");

11             //MessageBox.Show("Group1 value:"+r.Match(i).Groups[1]+",g1 value:"+r.Match(i).Groups["g1"].Value);//thing,thing;true 1

12             //         ,               (?<groupname>...)

13 

14             //string i = "Live for nothing nothing";

15             /*

16             Regex r = new Regex(@"([a-z]+) \1");

17             MessageBox.Show("Group1 value:"+r.Match(i).Groups[1].Value);//nothing

18             i = r.Replace(i,"$1");

19             MessageBox.Show("var i:"+i);//Live for nothing

20             //            "nothing".      ,  "$1"       ,           .

21             */

22 

23             /*

24             Regex r = new Regex(@"(?<g1>[a-z]+) \1");

25             MessageBox.Show("Group1 value:"+r.Match(i).Groups["g1"].Value);//thing

26             i = r.Replace(i,"${g1}");//            

27             MessageBox.Show("var i:"+i);//Live for nothing

28             */

29             

30             /*

31             Regex r = new Regex(@"^Live for nothing no(?:[a-z]{5})$");

32             MessageBox.Show("group1 value:"+r.Match(i).Groups[1].Value);//    ,

33             //     "?:"     "    ",            

34             */

7. 탐욕 과 비 탐욕:
1             /*      */

2             //string i = "Live for nothing,Die for nothing";

3             //Regex r = new Regex(@".*thing");//     Live for nothing,Die for nothing

4             //Regex r = new Regex(@".*?thing");//Live for nothing

5             //           ,      ,           。   “      ”(*,+)    “?”,            。

8. 역 추적 과 비 역 추적:
1             /*      */

2             //Regex r = new Regex(@".*thing,");//Live for nothing // r1 ,“.*”       ,            ,    “thing”,    “,”   ,       ,  “thing,”     。

3             //Regex r = new Regex(@"(?>.*)thing,");// r2 ,       ,           

4             //MessageBox.Show("match value:"+r.Match(i).Value);

5             //  “(?>…)”         。              ,         ,          ,

6             

9. 정방 향 사전 검색, 역방향 사전 검색
1             /*     ,     */

2             string i = "1024 used 2048 free";

3             //Regex r = new Regex(@"\d{4}(?= used)");//1024

4             //Regex r = new Regex(@"\d{4}(?! used)");//2048

5             //r1                        “ used”,r2                 “ used”。

6             //         :    “(?=…)”,    “(?!...)” ,                 ,

7             /*          */

 

좋은 웹페이지 즐겨찾기