정규식 언어 빠른 참조

정규식 엔터티는 정규식 식을 통해 값을 일치시키기 위해 결정적 접근 방식을 사용합니다. 

정규식은 정규식 엔진이 입력 텍스트에서 일치시키려고 시도하는 패턴입니다. 패턴은 하나 이상의 문자 리터럴, 연산자 또는 구성으로 구성됩니다. 정규식은 특수 문자와 일반 문자를 모두 포함할 수 있습니다. 'A', 'a' 또는 '0'과 같은 대부분의 일반 문자는 가장 단순한 정규식입니다. 그들은 단순히 그들 자신과 일치합니다. 일반 문자를 연결할 수 있으므로 last는 'last' 문자열과 일치합니다. 

'|'와 같은 일부 문자 또는 '(', 특수합니다. 특수 문자는 일반 문자 클래스를 나타내거나 주변의 정규 표현식이 해석되는 방식에 영향을 줍니다.

이 빠른 참조의 각 섹션에는 정규식을 정의하는 데 사용할 수 있는 특정 범주의 문자, 연산자 및 구문이 나열되어 있습니다.

참고: 캡처 그룹 및 캡처 그룹에 의존하는 추가 기능은 현재 지원되지 않습니다.

지원되는 정규식 기능

다음 섹션에서는 지원되는 정규식 기능에 대해 설명합니다.

정규식에서 백슬래시 문자(\)는 뒤에 오는 문자가 특수 문자(다음 표 참조)이거나 문자 그대로 해석되어야 함을 나타냅니다.

이스케이프 문자 설명 패턴 성냥
\NS 벨 문자와 일치합니다. \u0007 \NS "오류!"의 "\u0007" + '\u0007'
\NS 문자 클래스에서 백스페이스와 일치합니다. \u0008 [\b]{3,} "\b\b\b\b"의 "\b\b\b\b"
\NS

탭과 일치합니다. \u0009.

(\w+)\t "item1\titem2\t"의 "item1\t", "item2\t"

\NS

캐리지 리턴 \u000D와 일치합니다. (\r은 개행 문자 \n과 동일하지 않습니다.)

\r\n(\w+)

"\r\n이것들"의 "\r\n이것은\nt두 줄입니다."

\V

수직 탭과 일치합니다. \u000B.

[\v]{2,}

"\v\v\v"의 "\v\v\v"

\NS

양식 피드 \u000C와 일치합니다.

[\f]{2,}

"\f\f\f"의 "\f\f\f"

\N

새 줄 \u000A와 일치합니다.

\r\n(\w+)

"\r\n이것들"의 "\r\n이것은\nt두 줄입니다."

\ ㅇㅇ

8진수 표현을 사용하여 문자(ㅇㅇ 2자리 또는 3자리로 구성됨).

\w\040\w

"ab", "cd" in "abc d"

\NS

16진수 표현을 사용하여 문자( 정확히 두 자리 숫자로 구성됨).

\w\x20\w

"ab", "cd" in "abc d"

\유 ㅋㅋㅋ

16진수 표현을 사용하여 유니코드 문자를 찾습니다(정확히 4자리 ㅋㅋㅋ).

\w\u0020\w

"ab", "cd" in "abc d"

\

이 항목 및 이 항목의 다른 표에서 이스케이프 문자로 인식되지 않는 문자가 뒤에 오는 경우 해당 문자와 일치합니다. 예를 들어 \*는 \x2A 및 \와 같습니다. \x2E와 동일합니다. 이를 통해 정규식 엔진은 언어 요소(예: * 또는 ?)와 문자 리터럴(\* 또는 \?로 표시)을 명확하게 할 수 있습니다.

\d+[\+-x\*]\d+

"(2+2) * 3*9"의 "2+2" 및 "3*9"

문자 클래스는 문자 집합 중 하나와 일치합니다. 문자 클래스에는 다음 표에 나열된 언어 요소가 포함됩니다.

캐릭터 클래스 설명 패턴 성냥

[ 캐릭터_그룹 ]

의 모든 단일 문자와 일치합니다. 캐릭터_그룹

[애]

"회색"의 "a"

"레인"의 "a", "e"

[^ 캐릭터_그룹 ]

부정: 에 없는 단일 문자와 일치합니다. 캐릭터_그룹. 기본적으로 다음의 문자는 캐릭터_그룹 대소문자를 구분합니다.

[^아이]

"reign"의 "r", "g", "n"

[ 첫 번째마지막 ]

문자 범위: 다음 범위에 있는 모든 단일 문자와 일치합니다. 첫 번째 에게 마지막.

[아즈]

"AB123"의 "A", "B"

.

와일드카드: \n을 제외한 모든 단일 문자와 일치합니다.

에이

"nave"의 "ave"

"먹다" in "물"

\w

모든 단어 문자와 일치합니다.

\w

"ID A1.3"의 "I", "D", "A", "1", "3"

\W

단어가 아닌 모든 문자와 일치합니다.

\W

" ", "." "ID A1.3"에서

\NS

모든 공백 문자와 일치합니다.

\w\s

"ID A1.3"의 "D"

\NS

공백이 아닌 모든 문자와 일치합니다.

\봄 여름 시즌

"int __ctr"의 " _"

\NS

모든 10진수와 일치합니다.

\NS

"4 = IV"의 "4"

\NS

십진수 이외의 모든 문자와 일치합니다.

\NS

"4 = IV"의 " ", "=", " ", "I", "V"

앵커 또는 원자 폭이 0인 어설션은 문자열의 현재 위치에 따라 일치의 성공 또는 실패를 유발하지만 엔진이 문자열을 통해 진행하거나 문자를 소비하게 하지는 않습니다. 다음 표에 나열된 메타 문자는 앵커입니다. 

역설 설명 패턴 성냥

^

기본적으로 일치는 문자열의 시작 부분에서 시작해야 합니다. 여러 줄 모드에서는 줄의 시작 부분에서 시작해야 합니다.

^\d{3}

"901-333-"의 "901"

$

기본적으로 일치는 문자열 끝에서 발생하거나 문자열 끝에서 \n 이전에 발생해야 합니다. 여러 줄 모드에서 줄 끝 또는 줄 끝에서 \n 이전에 발생해야 합니다.

-\NS{3}$

"-901-333"의 "-333"

\NS

일치는 문자열의 시작 부분에서 발생해야 합니다.

\기원 후{3}

"901-333-"의 "901"

\지

일치는 문자열 끝에서 발생하거나 문자열 끝에서 \n 이전에 발생해야 합니다.

-\NS{3}\지

"-901-333"의 "-333"

\지

일치는 문자열의 끝에서 발생해야 합니다.

-\NS{3}\지

"-901-333"의 "-333"

\NS

일치는 \w(영숫자)와 \W(영숫자가 아님) 문자 사이의 경계에서 발생해야 합니다.

\b\w+\s\w+\b

"them theme", "themthem"의 "them theme them"

\NS

\b 경계에서는 일치하지 않아야 합니다.

\굽힘\w*\b

"ends", "end"의 "end는 견디는 대출자를 보냅니다"

그룹화 구성은 정규식의 하위 표현식을 설명하고 일반적으로 입력 문자열의 하위 문자열을 캡처합니다. 그룹화 구문에는 다음 표에 나열된 언어 요소가 포함됩니다. 비 캡처 그룹만 지원됩니다.

그룹화 제약 조건 설명 패턴 성냥

(?: 하위 표현 )

비 캡처 그룹을 정의합니다.

(?:[0-9]{4})|(?:[0-9] [0-9] [0-9] [0-9])

"숫자는 1234"에서 "1234"

"1 2 3 4" "숫자는 1 2 3 4"

(?= 하위 표현 )

너비가 0인 긍정적인 예측 어설션입니다.

\w+(?=\.)

"이다", "달리다", 그리고 "그는 있다"의 "밖으로". 개가 달렸다. 해가 떴다.”

(?! 하위 표현 )

너비가 0인 부정 lookahead 어설션입니다.

\b(?!un)\w+\b

"확실한", "사용된" "확실하지 않은 통일성 사용"

(?<= 하위 표현 )

너비가 0인 긍정적인 lookbehind 어설션입니다.

(?<=19)\d{2}\NS

"1851 1999 1950 1905 2003"의 "99", "50", "05"

(?<! 하위 표현 )

너비가 0인 부정 lookbehind 어설션입니다.

(?<!19)\d{2}\b<sajan index="1" />

"1851 1999 1950 1905 2003"의 "51", "03"

수량자는 일치가 발생하기 위해 입력 문자열에 있어야 하는 이전 요소(문자, 그룹 또는 문자 클래스일 수 있음)의 인스턴스 수를 지정합니다. 수량자에는 다음 표에 나열된 언어 요소가 포함됩니다. 

수량자 설명 패턴 성냥

*

이전 요소와 0번 이상 일치합니다.

\d*\.\d

".0", "19.9", "219.9"

+

이전 요소를 한 번 이상 찾습니다.

"되다 +"

been은 been, be는 beb

?

이전 요소를 0번 또는 1번 찾습니다.

"비"

"달리다", "비"

{ N }

이전 요소와 정확히 일치 N 타임스.

",\NS{3}"

",043"의 "1,043.6", ",876", ",543" 및 ",210"의 "9,876,543,210"

{ N ,}

최소한 이전 요소와 일치합니다. N 타임스.

"\d{2,}"

"166", "29", "1930"

{ N , 미디엄 }

최소한 이전 요소와 일치합니다. N 몇 번이지만 그 이상 미디엄 타임스.

"\d{3,5}"

"166", "17668"

"193024"의 "19302"

*?+???

와 동일 *, + 그리고 ?, 그러나 가능한 한 적은 횟수.  

<.*?>

NS '*', '+', 그리고 '?' 예선은 모두 탐욕스러운; 가능한 한 많은 텍스트와 일치합니다. 때로는 이 동작이 바람직하지 않습니다. 만약 거기에 <.*> 와 일치합니다 '<a> NS <c>', 전체 문자열과 일치합니다. '<a>'. 첨가 ? 예선전이 경기를 치르게 한 후 욕심이 없는 또는 최소한의 패션; 같이 약간의 가능한 한 문자가 일치합니다. RE 사용 <.*?> 만 일치합니다 '<a>'.

{ N }?

앞의 요소와 정확히 일치 N 타임스.

",\NS{3}?”

",043"의 "1,043.6", ",876", ",543" 및 ",210"의 "9,876,543,210"

{ N ,}?

최소한 이전 요소와 일치합니다. N 몇 번이지만 가능한 한 적게.

"\d{2,}?"

"166", "29", "1930"

{ N , 미디엄 }?

사이의 이전 요소와 일치 N 그리고 미디엄 몇 번이지만 가능한 한 적게.

"\d{3,5}?"

"166", "17668"

"193", "024" in "193024"

대체 구문은 정규식을 수정하여 일치를 활성화합니다. 이러한 구문에는 다음 표에 나열된 언어 요소가 포함됩니다. 

수량자 설명 패턴 성냥

|

세로 막대(|) 문자로 구분된 하나의 요소와 일치합니다.

일(?:e|is|at)

"the", "this" in "오늘입니다."