RE 정규 표현 식
11942 단어 정규 표현 식
메타 문자 사용
일반 문자
일치 규칙: 일반 문자 마다 해당 하 는 문자 가 일치 합 니 다.
e.g.
In : re.findall('ab',"abcdefabcd")
Out: ['ab', 'ab']
주의사항: 정규 표현 식 은 python 에서 도 중국어 와 일치 할 수 있 습 니 다.
관계
메타 문자: |
일치 규칙: 일치 | 양쪽 임의의 정규 표현 식 을 사용 하면 됩 니 다.
e.g.
In : re.findall('com|cn',"www.baidu.com/www.tmooc.cn")
Out: ['com', 'cn']
일치 하 는 단일 문자
메타 문자:. 일치 규칙: 줄 바 꿈 을 제외 한 임의의 문자 와 일치 합 니 다.
e.g.
In : re.findall(' . '," , , ")
Out: [' ', ' ', ' ']
일치 문자 집합
메타 문자: [문자 집합] 일치 규칙: 문자 집합 과 일치 하 는 임의의 문자 표현 형식:
[abc \ #! 좋아] 는 [] 의 임의의 문자 [0 - 9], [a - z], [A - Z] 는 구간 내의 임의의 문자 [ \ #? 0 - 9a - z] 를 혼합 하여 쓰 고 일반 구간 표현 은 뒤에 쓴다.
e.g.
In : re.findall('[aeiou]',"How are you!")
Out: ['o', 'a', 'e', 'o', 'u']
일치 문자 집합 반전
* 문자:
[^
문자 집합]일치 규칙: 문자 집합 을 제외 한 임의의 문자 와 일치 합 니 다.
e.g.
In : re.findall('[^0-9]',"Use 007 port")
Out: ['U', 's', 'e', ' ', ' ', 'p', 'o', 'r', 't']
일치 하 는 문자열 시작 위치
메타 문자: ^ 일치 규칙: 대상 문자열 의 시작 위치 와 일치 합 니 다.
e.g.
In : re.findall('^Jame',"Jame,hello")
Out: ['Jame']
일치 하 는 문자열 의 끝 위치
메타 문자: $일치 규칙: 대상 문자열 의 끝 위치 와 일치 합 니 다.
e.g.
In : re.findall('Jame$',"Hi,Jame")
Out: ['Jame']
규칙 기교: ^ 와 $는 정규 표현 식 의 시작 과 끝 에 반드시 나타 납 니 다.둘 이 동시에 나타 나 면 중간 부분 은 전체 대상 문자열 의 모든 내용 과 일치 해 야 합 니 다.
일치 문자 반복
메타 문자: * 일치 규칙: 앞의 문자 와 0 번 또는 여러 번 일치 합 니 다.
e.g.
In : re.findall('wo*',"wooooo~~w!")
Out: ['wooooo', 'w']
메타 문자: + 일치 규칙: 앞의 문자 와 일치 하여 1 번 또는 여러 번 나타 납 니 다.
e.g.
In : re.findall('[A-Z][a-z]+',"Hello World")
Out: ['Hello', 'World']
문자:?일치 규칙: 앞의 문자 와 0 번 또는 1 번 일치 합 니 다.
e.g.
In [28]: re.findall('-?[0-9]+',"Jame,age:18, -26")
Out[28]: ['18', '-26']
문자: {n}
일치 규칙: 앞의 문자 와 일치 하여 n 회 나타 납 니 다.
e.g.
In : re.findall('1[0-9]{10}',"Jame:13886495728")
Out: ['13886495728']
메타 문자: {m, n} 일치 규칙: 앞의 문자 와 일치 하여 m - n 번 나타 납 니 다.
e.g. qq
In : re.findall('[1-9][0-9]{5,10}',"Baron:1259296994")
Out: ['1259296994']
임의의 (비) 숫자 문자 일치
메타 문자: \ d \ D 일치 규칙: \ d 는 임의의 숫자 문자 와 일치 하고 \ D 는 임의의 비 숫자 문자 와 일치 합 니 다.
e.g.
In : re.findall('\d{1,5}',"Mysql: 3306, http:80")
Out: ['3306', '80']
일반 문자
메타 문자: \ w \ W 일치 규칙: \ w 는 일반 문자 와 일치 합 니 다. \ W 는 일반 문자 가 아 닌 설명 과 일치 합 니 다. 일반 문 자 는 숫자, 자모, 밑줄, 한 자 를 말 합 니 다.
e.g.
In : re.findall('\w+',"server_port = 8888")
Out: ['server_port', '8888']
임의의 빈 문자 일치
메타 문자: \ s \ S 매 칭 규칙: \ s 매 칭 빈 문자, \ S 매 칭 비 빈 문자 설명: 빈 문 자 는 빈 칸 을 가리킨다 \ r \ t \ v \ f 문자
e.g.
In : re.findall('\w+\s+\w+',"hello world")
Out: ['hello world']
일치 하 는 단어의 경계 위치
메타 문자: \ b \ B 일치 규칙: \ b 는 단어 경 계 를 표시 하고 \ B 는 단어 경계 가 아 닌 설명 을 표시 합 니 다. 단어 경 계 는 숫자 자모 (한자) 밑줄 과 다른 문자 의 경계 위 치 를 말 합 니 다.
e.g.
In : re.findall(r'\bis\b',"This is a test.")
Out: ['is']
유별
문자
일치 문자
. […] [^…] \d \D \w \W \s \S
일치 반복
* + ? {n} {m,n}
일치 위치
^ $ \A \Z \b \B
기타
|
() \ 정규 표현 식 의 전의
특수 문자:. * +? ^ $[] () {} | \
e.g. . \.
In : re.findall('-?\d+\.?\d*',"123,-123,1.23,-1.23")
Out: ['123', '-123', '1.23', '-1.23']
e.g.
python --> -->
"\\$\\d+" \$\d+ "$100"
"\\$\\d+" r"\$\d+"
탐욕 모드 와 비 탐욕 모드
비 탐욕 모드 (게 으 름 모드): 중복 되 는 메타 문자 와 일치 하 는 내용 을 최대한 적 게 뒤로 일치 하도록 합 니 다.
* : *?
+ : +?
? : ??
{m,n} : {m,n}?
e.g.
In : re.findall(r'\(.+?\)',"(abcd)efgh(higk)")
Out: ['(abcd)', '(higk)']
정규 표현 식 그룹
e.g. +
In : re.search(r'(ab)+',"ababababab").group()
Out: 'ababababab'
e.g. |
In : re.search(r'( | )\w{1,3}'," ").group()
Out: ' '
프로 그래 밍 언어 일부 인 터 페 이 스 를 통 해 일치 하 는 내용 중 하위 그룹 에 대응 하 는 내용 부분 을 가 져 올 수 있 습 니 다.
e.g. url
re.search(r'(https|http|ftp|file)://\S+',"https://www.baidu.com").group(1)
형식:
(?Ppattern)
e.g. "pig"
In : re.search(r'(?Pab)+',"ababababab").group('pig')
Out: 'ab'
정규 표현 식 일치 원칙
regex = compile(pattern,flags = 0)
:
: pattern
flags ,
:
re.findall(pattern,string,flags = 0)
:
: pattern
string
flags ,
: ,
regex.findall(string,pos,endpos)
:
: string
pos
endpos
: ,
re.split(pattern,string,max,flags = 0)
: ,
: pattern
string
max
flags ,
:
re.sub(pattern,replace,string,count,flags = 0)
:
: pattern
replace
string
count ,
flags ,
:
re.finditer(pattern,string,flags = 0)
:
: pattern
string
flags ,
:
re.match(pattern,string,flags=0)
:
:pattern
string
: match object
re.search(pattern,string,flags=0)
:
:pattern
string
: match object
match 대상 의 속성 방법
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.