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 /* */
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.