200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法

python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法

时间:2020-11-23 18:27:00

相关推荐

python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法

.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符>>>

>>> r=pile(r'.*')

>>> r.search('How are you\nFine thank you and you\nI am fine too').group()

'How are you'

>>>

这个例子可以看出.*(点-星)匹配除了换行外的所有字符,但无法匹配换行符,如何匹配包括换行符的所有字符呢?

1、通过传入re.DOTALL或者re.S作为pile()的第二个参数

>>>

>>> r=pile(r'.*',re.DOTALL)

>>> r.search('How are you\nFine thank you and you\nI am fine too').group()

'How are you\nFine thank you and you\nI am fine too'

>>> r=pile(r'.*',re.S)

>>> r.search('How are you\nFine thank you and you\nI am fine too').group()

'How are you\nFine thank you and you\nI am fine too'

>>>

2、通过 (.|\n)* 正则表达式来匹配所有字符>>>

>>> r=pile(r'(.|\n)*')

>>> r.search('How are you\nFine thank you and you\nI am fine too').group()

'How are you\nFine thank you and you\nI am fine too'

>>>

除了re.DOTALL外,re.IGNORCASE(等价于re.I),re.MULTILINE(re.M),也是很有用的参数

re.IGNORCASE可以忽略大小写>>>

>>> r=pile(r'hello',re.I)

>>> r.findall('Hello hello world heLLo')

['Hello', 'hello', 'heLLo']

>>>

正则表达式字符介绍:详细的可见维基百科介绍

//常用字符的使用介绍在正则表达式中 \ 的意思是代表转义字符在正则表达式中 . 的意思是代表任意字符在正则表达式中 * 的意思是代表任意个字符(包含零个)在正则表达式中 + 的意思是代表一个或者多个字符(不包含零个)在正则表达式中^ 的意思是代表开始位置(如果用在[之内也有相反的意思])在正则表达式中 $ 的意思是代表结束位置在正则表达式中 [……]的意思是代表或者的意思比如[a-zA-Z]的意思是a到z或者A-Z之间的随意一个都可以

在正则表达式中(.....) 的意思是代表分组在正则表达式中 $1 的意思是代表引用分组1的数据在正则表达式中 {4} 的意思是代表相同的4个;这里代表是量词的意思,比如说:(/d/d/d/d是四个数字但是可以简写为/d{4};这里包含前面的字符,一共四次,循环了三次)也可以是(/d{2,4};这里包含前面的字符,共2到4个数字,循环了一到三次)

在正则表达式中 /d 的意思是代表数字在正则表达式中 /D 的意思是代表非数字在正则表达式中 /b 的意思是代表一个单词的边界在正则表达式中 /B 的意思是代表非单词的边界在正则表达式中 /g 的意思是代表全局(global)在正则表达式中 /i 的意思是代表忽略大小写,(ignore case)默认大小写敏感在正则表达式中 /m 的意思是代表多行,(multiple lines )多行搜索

预定义类:在正则中特殊字符大写表示取反,比如/d代表数字,则/D代表非数字与[^0-9]相同字符等价类含义.[^\r\n]除了回车符合换行符之外所有的字符\d[0-9]数字字符\D[0-9]非数字字符\s[\t\n\x0b\f\r]空白符\S[^\t\n\x0b\f\r]非空白符\w[a-zA-z_0-9]单词字符(字母,数字下划线)\W[^a-zA-z_0-9]非单词字符

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。