re 모듈

24064 단어
정규 표현 식, 문자열 모호 일치
r = > raw string 원본 문자열  게다가 r 는 안에 있 는 어떤 내용 도 번역 하지 않 는 다 는 뜻 이다.
1. 자주 사용 하 는 메타 문자
.
문자
메타 문자 의 용법 설명
.  
짝 짓 기
^
문자 집합
$
마무리
*
붙 어 있 는 문자 로 반복 하기 (0 에서 무한 회)
+
일치 (1 부터 무한 회)
?
(0, 1) 이 두 번 만 일치 합 니 다.
{}
직접 볼 수 있 습 니 다. {0,} = *, {1,} = = + {0, 1} = =?{6} 일치 6 회 {n, m} n 에서 m 회 반복
[]
문자 집합
|
혹시
()
그룹 화
\
통역 하 다
 
코드
코드 사용법 설명
\w \W
일치 하 는 자모 나 숫자 또는 밑줄 또는 한 자 는 [a - zA - Z0 - 9] 모든 비 자모 숫자 문자 와 일치 합 니 다.그것 은 클래스 [^ a - zA - Z0 - 9] 에 해당 합 니 다.
\s \S
임의의 공백 문자 와 일치 합 니 다.  [\ t \ r \ f \ v] 공백 문자 가 아 닌 문자 와 일치 합 니 다.  [^ \t\r\f\v]
\d \D
일치 하 는 숫자 는 【 0 - 9 】 에 해당 합 니 다.  \d + 는 여러 자리 숫자 와 일치 하 는 모든 비 숫자 문자 가 [^ 0 - 9] 에 해당 하 는 것 을 말 합 니 다.
\b \B
단어의 시작 이나 끝 과 일치 합 니 다.https://blog.csdn.net/uvyoaa/article/details/80854459 공백, &, # 등 특수 문자 경계 와 일치 합 니 다. \ b 는 python 자체 에 의미 가 있 기 때문에 \ \ b 를 사용 합 니 다.
\D
모든 비 숫자 문자 와 일치 하 는 것 은 [^ 0 - 9] 에 해당 합 니 다.
\S
공백 문자 가 아 닌 문자 와 일치 합 니 다.  [^ \t\r\f\v]
 
2. 상용 함수
re.findall()     :  
일치 하여 얻 을 수 있 는 모든 결 과 를 목록 에 넣 습 니 다.
print(re.findall('a..x','asaxfassxejfalex'))  # ['asax', 'assx', 'alex']
# ^           
print(re.findall('^a..x','asaxfassxejfalex'))  #['asax']
# $        
print(re.findall('a..x$','asaxfassxejfalex'))  # ['alex']
print(re.findall('d*','asdddalex'))  # 0           ['', '', 'ddd', '', '', '', '', '']

print(re.findall('alex*','asdddale'))  # ['ale']
print(re.findall('alex+','asdddale'))  # []
print(re.findall('alex?','asdddalex'))  # ['alex']
print(re.findall('alex{6}','asdddalexxxxxxxxxx'))  # ['alexxxxxx']
print(re.findall('alex{1,6}','asdddalexxx'))  # ['alexxx']
print(re.findall('alex*?','asdddalexxxxxxxxx'))  # ['ale']       ,      
#               
print(re.findall('www[oldboy baidu]','wwwbaiducom'))  # wwwo / wwwl /wwwb          ['wwwb']
print(re.findall('x[yz]p','xypuuxzpuu'))  #        ['xyp', 'xzp']
#                         -  ^ \
print(re.findall('[a-z]','x1234y5436puuxzpuu'))  # ['x', 'y', 'p', 'u', 'u', 'x', 'z', 'p', 'u', 'u']
print(re.findall('[a-z]*','x1234y5436puuxzpuu'))  # ['x', '', '', '', '', 'y', '', '', '', '', 'puuxzpuu', '']
print(re.findall('^[a-z]','x1234y5436puuxzpuu'))  # ['x']
print(re.findall('[^a-z]','x1234y5436puuxzpuu'))  # ['1', '2', '3', '4', '5', '4', '3', '6']           
print(re.findall('\([^( )]*\)','12+(34*6+2-5*(2-1-(3+1))'))  #             
print(re.findall('I\\b', 'hello I am LIST'))  #['I']      I         ,          
print(re.findall(r'ka|b','sdjkabsf'))  # ['ka', 'b']   ka    b
print(re.findall(r'(?:abc)+','abcabcabc'))  
#  ?: at the start, e.g. (?: ) and that left paren will not count as a group result.)
print(re.findall(r'(?P\w+)*','abcabcabc'))  
#                 \w+ ,               ?P     
print(re.findall('www\.(baidu|163)\.com',"www.baidu.com"))  #               ['baidu'] ,       ,           
print(re.findall('www\.(baidu|163)\.com',"sdadasdasdwww.baidu.comasdasdas")) # ['baidu']        ,          
print(re.findall('www\.(?:baidu|163)\.com',"www.baidu.com"))  #               ,['www.baidu.com']
# ?:     

 
 
모 르 는 것:
print(re.findall('c\\f','abc\f'))  #['c\x0c']  # \xoc    
print('-----------l')
print(re.findall(r'\\L','hello I am \LIST'))  # ['\\L']    \       ,   \   ,  \          ,   4 (       \)
print(re.findall('\\\L','hello I am \LIST'))  # ['\\L']            ,      \      

 
re.search(a,b)        + .group()
a. 목 표를 찾 습 니 다. b. 문자열 을 찾 습 니 다.  하나만 찾 으 면 더 이상 찾 지 않 겠 습 니 다.
print(re.search('\d+','asdw343ffafas23sf3'))
# 

print(re.search('\d(5)','asdw343ffafas23sf3'))
#    5              

print(re.search('\d+','asdw343ffafas23sf3').group())
#          .group          
print(re.search(r'(?P[a-z]+)*','ab234cabcabc').group())  # ab  ?P              
print(re.search(r'[a-z]+','ab234cabcabc').group())   # ab
print(re.search(r'(?P[a-z]+)\d+','ab234cabcabc').group())  # ab234
print(re.search(r'(?P[a-z]+)(?P\d+)','ab234cabcabc').group('name'))  # ab
print(re.search(r'(?P[a-z]+)(?P\d+)','ab234cabcabc').group('age'))  # 234
print(re.search('abc|bcd',"bcd").group())  # bcd
print(re.search('a(bc)|(ty)d','tyd').group()) # tyd

 
re.finditer()  
모든 결 과 를 교체 기 에 밀봉 하 다.
ret = re.finditer('\d', 'dasdaodh669adash8')  
print(next(ret))     #             
print(next(ret).group())  # 6
print(next(ret).group())  # 8
print(next(ret).group())  #9

 
re.match()
처음부터 일치 만 합 니 다.
print(re.match('\d+','797alex35sdqhd'))  # 
#             797        
print(re.match('\d+','797alex35sdqhd').group()) #         ,    .group    

 
re.split ()
분할 하 다
print(re.split(' ','hello abc def'))  #       
print(re.split('[ |]','hello abc|def'))  #        ,     |   
print(re.split('[ab]','asdsabkbbogdytd'))  #   a    b 
print(re.split('[ab]','abc'))  # ['', '', 'c']

re.sub()
교체 진행
print(re.sub('\d+','A','fehowh877979'))  #     ,          ,    
print(re.sub('\d','A','fehowh877979',4))  #   4 
print(re.subn('\d ','A','fehowh877979',4))  #

re.compile()
컴 파일, 컴 파일, 다음 에 사용 할 때 컴 파일 하지 않 아 도 됩 니 다. 다음 모든 방법 은 com. xxx (com. findall () 를 통 해 가 져 올 수 있 습 니 다.
좋 은 점 은 여러 번 사용 할 수 있다 는 거 예요. 
com = re.compile('\d+') 

좋은 웹페이지 즐겨찾기