정규 표현식은 문자열 집합을 간결하게 표현하는 데 사용되는 표현식입니다. 이 글은 주로 Python의 정규 표현식에 대한 자세한 지식을 공유하는 데 도움이 되기를 바랍니다.
Operator | Explanation | Instance |
---|---|---|
. | 은 단일 문자를 나타냅니다. | |
[ ] | 문자 세트, 단일 문자 값 범위 |
[abc ] 는 a 또는 b 또는 c를 의미하고, [a-z]는 a에서 z까지의 단일 문자를 의미합니다. [abc] 表示a或b或c; [a-z]表示a到z单个字符 |
[^ ] | 非字符集,单个字符排除范围 |
[^abc] 表示非a或非b或非c |
* | 前一个字符的0次或无限次扩展 |
abc* 表示ab、abc、abcc、abccc...
|
+ | 前一个字符的1次或无限次扩展 |
abc+ 表示abc、abcc、abccc...
|
? | 前一个字符的0次或1次扩展 |
abc? 表示ab、abc
|
| | 左右表示任意一个 |
abc|def 表示abc或def
|
{m} | 前一个字符的m次扩展 |
ab{2} 表示abcc
|
{m,n} | 前一个字符的m至n次扩展(含n) |
ab{1,2} 表示abc、abcc
|
^ | 匹配字符串开头 |
^abc 表示abc且在一个字符串的开头 |
$ | 匹配字符串结尾 |
abc$ 表示abc且在一个字符串的结尾 |
( ) | 分组标记,内部只能使用|操作符 |
(abc|def) 表示abc或def
|
비문자 집합, 단일 문자 제외 범위 | ||
0 또는 이전 문자의 무제한 확장을 의미합니다 |
abc* 는 ab, abc, abcc, abccc...
|
abc+
은 abc, abcc, abccc...
?
0 또는 이전 문자의 1 확장
abc?
은 ab, abc
|
은 왼쪽 또는 오른쪽을 의미합니다. A
abc|def
는 abc 또는 def
{m,n} | |
---|---|
^ | |
^abc 는 abc를 나타내며 문자열 |
|
문자열의 끝과 일치합니다. |
abc$ 는 abc를 의미하며 문자열의 끝에 있습니다. |
( ) | 그룹화 표시, 내부적으로 | 연산자만 사용할 수 있습니다. |
d | |
>>> match= re.findall(r'[1-9]\d{5}','100081BIT BIT10008676')>>> print(match) ['100081', '100086']>>> match = re.split(r'[1-9]\d{5}','100081BIT BIT10008676')>>> match ['', 'BIT BIT', '76']>>> match = re.split(r'[1-9]\d{5}','100081BIT BIT10008676',maxsplit=1)>>> match ['', 'BIT BIT10008676'] >>>for m in re.finditer(r'[1-9]\d{5}','100081BIT BIT10008676'): if m: print(m.group(0)) 100081100086
re.match의 차이점은 문자열의 시작 부분과만 일치합니다. 문자열의 시작 부분이 정규 표현식과 일치하지 않으면 일치가 실패하고 re에서는 None을 반환합니다. 검색은 일치하는 항목이 발견될 때까지 전체 문자열과 일치합니다. [ ]
[abc]
는 a 또는 b 또는 c를 의미합니다. [a-z]는 a에서 z까지의 단일 문자를 의미합니다.
non- 문자 집합, 단일 문자 제외 범위 | ||
---|---|---|
< code>abc*는 | + | |
abc+</code을 의미합니다. >는 <code>abc, abcc, abccc... . | ?[abc] 表示a或b或c; [a-z]表示a到z单个字符 | |
[^ ] | 非字符集,单个字符排除范围 | [^abc] 表示非a或非b或非c |
* | 前一个字符的0次或无限次扩展 | abc* 表示ab、abc、abcc、abccc... |
+ | 前一个字符的1次或无限次扩展 | abc+ 表示abc、abcc、abccc... |
? | 前一个字符的0次或1次扩展 | abc? 表示ab、abc |
| | 左右表示任意一个 | abc|def 表示abc或def |
{m} | 前一个字符的m次扩展 | ab{2} 表示abcc |
{m,n} | 前一个字符的m至n次扩展(含n) | ab{1,2} 表示abc、abcc |
^ | 匹配字符串开头 | ^abc 表示abc且在一个字符串的开头 |
$ | 匹配字符串结尾 | abc$ 表示abc且在一个字符串的结尾 |
( ) | 分组标记,内部只能使用|操作符 | (abc|def) 表示abc或def | 0 또는 이전 문자의 확장 1개
| | 왼쪽과 오른쪽은 임의의 것을 나타냅니다 | |
{m} | 를 나타냅니다.이전 문자의 m배 확장 |
{m,n}
m에서 n까지의 확장을 의미합니다( n 포함)
ab{1,2 }
는 abc, abcc
^
문자열의 시작 부분과 일치
^abc<를 의미합니다. /code>는 abc를 의미하며 문자열의 시작 부분에 있습니다</p><p></p> <p>$</p><hr/>문자열의 끝 부분과 일치합니다<p></p><code>abc$
는 abc를 의미하며 문자열의 끝 부분에 있습니다
( ) | 그룹화 표시, | 연산자만 내부적으로 사용할 수 있습니다. |
---|---|
d | 번호를 의미합니다. [0-9] |
w | |
과 동일 예는 어렵지 않습니다. | 1. 숫자만 입력할 수 있습니다: ^[0-9]*$ |
3. 숫자: ^d {n,}$ | 4. m~n 숫자만 입력할 수 있습니다: ^d{m,n}$ |
6. 소수점 이하 두 자리의 양수만 입력할 수 있습니다: ^[0-9]+(.[0-9]{2})?$ | 7. 소수점 이하 1~3자리의 양수만 입력하세요: ^[0-9]+(.[0-9]{1,3})?$ |
Function
Description
re.match()에서 일치 문자열 A 패턴의 시작 위치. 시작 위치가 성공적으로 일치하지 않으면 match()는 없음을 반환합니다.
🎜전체 문자열을 스캔하고 첫 번째로 성공한 일치 항목을 반환합니다. 🎜🎜🎜🎜re.sub()🎜🎜는 문자열에서 정규 표현식과 일치하는 모든 하위 문자열을 바꾸고 대체된 문자열을 반환하는 데 사용됩니다.🎜🎜🎜🎜re.findall()🎜🎜목록에서 문자열 검색 양식 일치하는 모든 하위 문자열을 반환합니다. 🎜🎜🎜🎜re.split()🎜🎜 정규식 일치 결과에 따라 문자열을 분할하고 목록을 반환합니다.🎜🎜🎜🎜re.finditer()🎜🎜문자열을 검색하고 반복 유형을 반환합니다. 각 반복 요소는 일치 개체입니다🎜🎜🎜🎜>>> match= re.findall(r'[1-9]\d{5}','100081BIT BIT10008676')>>> print(match) ['100081', '100086']>>> match = re.split(r'[1-9]\d{5}','100081BIT BIT10008676')>>> match ['', 'BIT BIT', '76']>>> match = re.split(r'[1-9]\d{5}','100081BIT BIT10008676',maxsplit=1)>>> match ['', 'BIT BIT10008676'] >>>for m in re.finditer(r'[1-9]\d{5}','100081BIT BIT10008676'): if m: print(m.group(0)) 100081100086
위 내용은 Python의 정규식에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!