정규식의 개념
정규식은 문자열 연산을 위한 논리적 공식입니다. 미리 정의된 특정 문자와 이러한 특정 문자의 조합을 사용하여 "규칙 문자열"을 형성합니다. 이 "규칙 문자열"은 문자열에 대한 필터링 논리를 표현하는 데 사용됩니다.
정규식의 문법 규칙
정규식의 대략적인 일치 과정은 다음과 같습니다.
#🎜🎜 # 1. 표현식을 꺼내서 텍스트의 문자 2와 차례로 비교합니다. 모든 문자가 일치할 수 있으면 일치에 실패한 문자가 있으면 일치가 성공합니다. 실패할 것이다. 3. 표현에 수량자나 경계가 있으면 과정이 약간 달라집니다. 다음은 Python의 정규 표현식에 대한 일부 일치 규칙입니다모드 |
설명 | 문자열의 시작 부분과 일치 |
문자열의 끝과 일치합니다. |
.# 🎜🎜# |
|
은 개행을 제외하고 일치합니다. #🎜 🎜 무엇이든 # | (n)문자, re.DOTALL 마크가 지정된 경우 다음은 가능합니다. 개행 문자를 포함한 모든 문자와 일치합니다. [. ..] |
|
은 별도로 나열된 문자 그룹을 나타내는 데 사용됩니다. [amk] 'a', 'm' 또는 'k' 일치 #[^...] |
#🎜🎜 #[]에 없는 문자: [^abc] a, b, c 이외의 문자와 일치합니다. |
|
re* |
0개 이상의 표현식과 일치합니다. |
|
re+# 🎜🎜# |
1개 이상의 표현식과 일치합니다. |
|
re? |
탐욕스럽지 않은 방식으로 선행 정규 표현식으로 정의된 0 또는 1개의 조각과 일치 #🎜🎜 ##🎜 🎜# |
|
re{n} # 🎜🎜# ### ########## ## ## ## ## ## ## ## ## ############## n,} |
n개의 이전 표현식과 정확히 일치합니다. |
|
re{n, m} |
이전 정규 표현식에서 정의한 조각의 n~m 배를 탐욕스러운 방식으로 일치시킵니다. # 🎜 🎜# |
|
a|b | # 🎜 🎜#은 a 또는 b와 일치합니다 |
|
(re) |
G 일치 괄호 The inside의 표현식은 그룹을 나타냅니다. |
정규식에는 i, m 또는 x의 세 가지 선택적 플래그가 포함됩니다. 괄호 안의 영역에만 영향을 미칩니다. |
(?-imx)# 🎜🎜# |
i, m 또는 x 선택적 플래그를 끄는 정규 표현식입니다. 괄호 안의 영역에만 영향을 미칩니다. |
|
(?: re)# 🎜🎜# |
은 (...)와 유사하지만 그룹을 나타내지는 않습니다 #🎜🎜 # |
|
(?imx: re) #🎜🎜 # | 대괄호 안에 i, m 또는 x 선택적 플래그 사용 #🎜🎜 # |
|
#🎜 🎜 # 괄호 안에 i, m 또는 x 선택적 플래그를 사용하지 마세요. # |
(?#...)
| #🎜 🎜#Note.|
앞으로 양수 구분 기호. ... 로 표시된 포함된 정규식이 현재 위치와 성공적으로 일치하면 성공하고, 그렇지 않으면 실패합니다. 그러나 포함된 표현식을 시도한 후에는 일치 엔진이 전혀 개선되지 않으며 패턴의 나머지 부분은 여전히 구분 기호의 오른쪽을 시도해야 합니다. |
||
(?! 재) | # 🎜🎜#앞으로 음수 구분 기호. 양수 구분 기호의 반대입니다. 포함된 표현식이 문자열의 현재 위치에서 일치할 수 없으면 성공합니다. |
독립 모드를 일치시켜 역추적의 필요성을 제거합니다. |
w |
은 '[A-Za-z0-9_]'에 해당하는 문자, 숫자 및 밑줄과 일치합니다. |
|
W |
은 '[^A-Za-z0-9_]'에 해당하는 영숫자가 아닌 숫자 및 밑줄과 일치합니다. |
|
s |
은 공백 문자와 일치하며 [tnrf]. |
|
S |
경기 비어 있지 않은 문자. [^ fnrtv]와 동일합니다. |
|
d |
은 [0-9]. |
|
D |
숫자가 아닌 모든 것과 일치합니다. [^0-9]와 같습니다. |
|
A |
문자열 시작 |
|
Z |
문자열의 끝이 있는 경우 일치합니다. 개행, 개행 앞의 끝 문자열에만 일치합니다. ㄷ |
|
z |
문자열의 끝과 일치 |
|
G | 마지막 경기가 완료된 위치를 일치시키세요 . |
|
b |
은 단어와 공백 사이의 위치를 의미하는 단어 경계와 일치합니다. 예를 들어, 'erb'는 "never"의 'er'와 일치하지만 "동사"의 "er"는 일치하지 않습니다. |
|
B |
단어가 아닌 경계와 일치합니다. 'erB'는 "동사"의 'er'와 일치하지만 "never"에서는 일치하지 않습니다. |
|
n, t 등 |
은 개행 문자와 일치합니다. 탭 문자와 일치합니다. 잠깐 |
|
1...9 |
n번째 그룹의 내용과 일치하세요. |
|
10 |
은 n번째 그룹의 내용과 일치하면 일치합니다. 그렇지 않으면 8진 문자 코드의 표현을 참조합니다. |
위 내용은 Python 정규식에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!