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