정규 표현식은 코딩된 문자열입니다. 표현식과 일치하는 문자열 세트를 정의합니다. 정규 표현식은 하나 이상의 분기(선택항목)로 구성될 수 있으며, 각각의 분기는 문자, 문자 클래스 또는 반복 규칙을 지정할 수정자가 있는 괄호로 묶인 표현식으로 구성되는 문자열일 수 있습니다.
지원되는 정규 표현식 구문은 XML 스키마 정규 표현식의 서브세트입니다. 전체 구문에 대해서는 W3C(World Wide Web Consortium) 웹 사이트에서 찾을 수 있는 XML Schema Part 2: Datatypes의 Appendix F를 참조하십시오.
다음 표에는 지원되는 일반 표현식 구문 요소가 나열되어 있습니다.
메타 문자 | 의미 |
\ | 이스케이프 |
. | 모든 단일 문자 |
* | 선행 문자 0번 이상 |
+ | 선행 문자 1번 이상 |
? | 선행 문자 0 또는 1번 |
{...} | 앞에 발생 1 |
[...] | 포함된 클래스 중 하나 일치 |
[^...] | 포함되지 않은 클래스 중 하나 일치 1 |
(...) | 표현식 그룹화 1 |
| | 선행 또는 다음과 일치 |
이스케이프 순서 | 의미 |
\n | 줄 바꾸기 |
\r | 캐리지 리턴 |
\t | 탭 |
\e | 이스케이프 |
클래스 코드 | 의미 |
\d | 숫자 [0-9] |
\D | 비숫자 [^0-9] 2 |
\s | 공백 [ \t\n\r] |
\S | 공백이 아님 [^ \t\n\r] 2 |
\p{L} | 모든 문자 3 |
\p{N} | 모든 숫자, \d와 유사 4 |
[\p{N}\p{L}] | 모든 숫자와 모든 문자, \w와 유사 4 |
\P{L} | 문자가 아님, [^\p{L}]와 동일 |
\P{N} | 비숫자, [^\p{N}]와 동일 |
범위 | 의미 |
{n} | 정확하게 n번 |
{n,} | 최소한 n번 |
{n,m} | 최소한 n번이나 m번을 초과하지 않음 |
{0,m) | 0 - t번 |
다음 표에는 정규 표현식 구문에 대한 구문 규칙의 몇 가지 예가 나와 있습니다. 이 규칙 사용에 대한 몇 가지 예는 데이터 요소를 구문 분석하기 위해 정규 표현식 사용을 참조하십시오.
정규 표현식 데이터 패턴 | 의미 |
---|---|
a | 문자 "a"와 일치 |
. | 임의의 한 문자와 일치 |
a+ | 하나 이상의 "a" 문자열과 일치 |
a* | 0개 이상의 "a" 문자열과 일치 |
a? | 0 또는 하나의 "a"와 일치 |
a{3} | 정확하게 세 개의 "a" 문자열과 일치, 즉 "aaa" |
a{3,} | 세 개 이상의 "a" 문자열과 일치 |
a{2,4} | 최소 두 개와 최대 4개의 "a" 문자열과 일치 |
[abc] | "a", "b" 또는 "c" 문자 중 하나와 일치 |
[a-zA-Z] | "a" - "z" 범위 또는 "A" - "Z". 범위의 한 문자와 일치. 일치하는 문자의 범위는 지정된 문자의 유니코드를 기반으로 한다는 점에 유의하십시오. |
[^abc] | "a", "b" 또는 "c" 중 하나를 제외한 문자와 일치 |
(ab)+ | 한 번 이상 반복하는 "ab" 문자열과 일치 |
(ab)|(cd) | "ab" 또는 "cd" 문자열 중 하나와 일치 |