re模块

re模块:从字符串里面找到特定的字符串

re的基本语法(匹配规则)

import re
s = '王大炮打炮被大炮打死了 王大炮打炮被大炮打死了'

^:开头

print(re.findall('^王大炮',s))

$:结尾

print(re.findall('死了$',s))

[]匹配中间的字符,只要单个字符

s = 'acefghjkacefsdfsdf'
print(re.findall('[acef]',s))

[]+连用,对[]内的元素取反

print(re.findall('[^acef]',s))

.任意字符除了

s='abacadaeaf'
print(re.findall('a..',s))

s = 'abaacaaaaa'

*前面的字符0-无穷个

print(re.findall('a*',s))

+前面的字符1-无穷个

print(re.findall('a+',s))

?前面的字符0-1个

print(re.findall('a?',s))

{m}前面的字符m个

print(re.findall('a{5}',s))

{n,m}前面的字符n-m个

print(re.findall('a{2,5}',s))

s='s 1 s+ =$ 2_s 3'

d数字

print(re.findall('d',s))

D非数字

print(re.findall('D',s))

w数字字母下划线

print(re.findall('w',s))

W非数字字母下划线

print(re.findall('W',s))

s空格

print(re.findall('s',s))

S非空格

print(re.findall('S',s))

取消意义

s='abad'
print(re.findall(r'a',s))

.*贪婪模式,找到值后继续找到最后,让结果最大化

s='abbbcabc'
print(re.findall('a.*c',s))

.*?非贪婪模式,找到第一个后就马上停止了

print(re.findall('a.*?c',s))

()只要括号内的除了什么以外

s='abacad'
print(re.findall('a(.)',s))

A|B,A和B都要

s='abacad'
print(re.findall('a|b',s))

原文地址:https://www.cnblogs.com/ludundun/p/11382803.html