python变量命名的正则表达式_Python正则表达式

正则表达式(Regular Expression)

一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。

使用单个字符串来描述、匹配一系列   某个句法规则的字符串。

繁琐但强大,学会后可提高工作效率和成就感

它的祖先是  人类神经系统如何工作  的早期研究

什么是字符串呢?

字符:字母,数字,符号,字   1、2、3、A、B、C、~!·#¥%……—*()——+等等

字符串:有限字符的序列      序列:被排成一列的对象

字符串:有限字母,数字,符号,字等等的被排成一列的对象

^  匹配输入字符串开始的位置(或取反)

$  匹配输入字符串结束的位置

[0-9]    匹配单个数字

      至少一个数字然后abc

+  一次或多次    +最大方,老客气了,最少要一次 一定要给

*  零次或多次    *最自由  有或没有都可以 我都可以,你随便啊

?  零次或一次   特别抠门的?  1个,不能再多了

{n}  匹配确定的次数

{n,m}  最少n次最多m次

.  匹配任意字符,除了换行符

\d 匹配一个数字字符。

\b   独立单词  边界的意思/i   大小写不敏感

只允许字母和空格:/^[a-zA-Z ]*$/

邮箱格式:/([\w\-]+\@[\w\-]+\.[\w\-]+)/      w@w.w

\w 指数字英文加下划线

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。    要一样一样的哈

print(re.match('www', 'www.runoob.com').span())

#(0, 3)    元组

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

re.compile 函数

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

编译:利用编译程序从源语言编写的源程序产生目标程序的过程  (源程序->目标程序)

格式:  re.compile(pattern[,flags])

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:    是.哦!

re.I 忽略大小写

re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境

re.M 多行模式

re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)

re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库

re.X 为了增加可读性,忽略空格和 # 后面的注释

findall

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

findall(string,pos,endpos)      #后2个位可选参数,为起始和结束  默认为0和默认字符串长度

pattern = re.compile(r'\d+')

pattern.findall('run88 oob123 google456', 0, 10)#['88', '12']

a = 'China_net809Chinna2018Nanjing'    #要匹配的字符串b= re.findall(r'\d{4}Nanjing', a)     #字符串在后print(b)    #['2018Nanjing']

a=re.compile(r'\d{4}')          #要匹配的格式

b=a.findall('China_net809Chinna2018Nanjing')      #格式在前        格式都在前print(b)    #['2018Nanjing']

Python中的原生字符串"r"

Python中字符串前面加上 r 表示原生字符串

假如你需要匹配文本中的字符”\”,那么使用编程语言表示的正则表达式里将需要4个反斜杠”\”:前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。

python中""和'的区别

如果是要表示字符串,那么没什么区别。但是,but  想要有'就要"

print("Let's go")print('你说"加油陌生人"')

re_path和path

功能一样,但前者在写url可用正则表达式,所以更牛逼

在正则表达式中定义变量,需要使用圆括号括起来。这个参数是有名字的,那么需要使用(?P)。然后在后面添加正则表达式的规则。

命名Python正则表达式组的语法

(?Ppattern),其中name是组的名称

r"^list/(?P\d{4})/$"      #形如  list/5555/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值