[C# 정규표현식] 특정한 문자 형태와 일치시키기
- C#/정규표현식
- 2021. 11. 23. 19:25
참조
- 손에 잡히는 정규표현식
특정한 문자 형태와 일치시키기
- 지금까지 특정 문자, 모든 문자, 문자 집합 가운데 하나를 어떻게 찾는지 알아보았고, 어떻게 문자를 제외하는지도 알아보았습니다.
- 문자 집합은 검색에서 쓰는 가장 흔한 형태이기에, 자주 쓰는 문자 집합들은 특수한 메타 문자로 대신하기도 합니다.
- 이런 메타 문자들을 문자 클래스 라고 부릅니다.
숫자와 숫자가 아닌 문자 찾기
- 앞서 배웠듯이, [0-9]는 [0123456789]을 줄인 표현이고 어떤 숫자와도 일치합니다.
- 숫자를 제외한 문자를 찾으려면, [^0-9]처럼 제외하는 메타 문자를 사용합니다.
메타문자 | 설명 |
---|---|
\d | 숫자 하나 |
\D | 숫자를 제외한 문자 하나 |
예제 코드
var myArray = new Array();
...
if (myArray[0] == 0) {
...
}
using System;
using System.Text.RegularExpressions;
namespace Test
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Desktop\RegexTest.txt";
string textValue = System.IO.File.ReadAllText(path);
string pattern = @"myArray\[\d\]";
var matches = Regex.Matches(textValue.ToString(), pattern);
foreach(var match in matches)
{
Console.WriteLine($"{pattern} 패턴에 매칭된 데이터 {match}");
}
}
}
}
myArray\[\d\] 패턴에 매칭된 데이터 myArray[0]
- [는 여는 대괄호([) 와 일치하고, \d 는 숫자 하나와 일치하고, ]는 닫는 대괄호(]) 와 일치하므로, myArray[\d] 는 myArray[0] 과 일치합니다.
- 즉, myArray[[0123456789]] 는 myArray[[0-9]]로, myArray[[0-9]] 는 다시 myArray[\d] 로 줄여서 표현한 것입니다.
주의
- 정규 표현 문법은 대소문자를 구별합니다.
- \d는 숫자 하나와 일치하고, \D는 \d와 뜻이 정반대입니다.
- 대소문자를 구별하지 않고 검색을 수행할 때도 정규 표현식 문법은 대소문자를 구별합니다.
- 찾으려는 텍스트는 대소문자를 구별하지 않고 텍스트를 찾더라도, \d와 같은 특수한 문자는 대소문자를 구별합니다.
728x90
'C# > 정규표현식' 카테고리의 다른 글
[C# 정규표현식] 정규표현식 - 이메일 주소 찾기 (0) | 2021.12.01 |
---|---|
[C# 정규표현식] 영숫자 문자와 영숫자가 아닌 문자 찾기 (0) | 2021.11.23 |
[C# 정규표현식] 공백 문자 찾기 (0) | 2021.11.21 |
[C# 정규표현식] 메타 문자 사용하기 (0) | 2021.11.19 |
[C# 정규표현식] RGB 정규표현식 (0) | 2021.11.16 |
이 글을 공유하기