稍等片刻,正在加载中...

Python之正则表达式【re】

正则表达式介绍

正则表达式通常被用来检索查找、替换那些符合某个模式(规则)的文本。

导入re库

Python使用正则表达式要导入re库。

import re

使用正则表达式步骤

  • 寻找字符规律。
  • 使用正则符号表示规律。
  • 提取信息,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

常用的元字符

符号 描述
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

常用的限定符

符号 描述
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
重复n次
重复n次或更多次
重复n到m次

常用的反义代码

符号 描述
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

re之操作

findall

语法:re.findall(pattern, string, flags=0)

解释:

  • pattern:正则表达式。
  • string:需要处理的字符串。
  • flags:说明匹配模式,如是否大小写re.I

示例如下:

import re

a = re.findall(r'(:|-|[A-Z])', "Abe:emeB-dwew")
print(a) # ['A', ':', 'B', '-']


b = re.findall(r'(:|-|[A-Z])', "Abe:emeB-dwew", re.I)
print(b) # ['A', 'b', 'e', ':', 'e', 'm', 'e', 'B', '-', 'd', 'w', 'e', 'w']

扩展操作

匹配数字和浮点数

import re

a = 'matrix(1,0,0,1,48,187.17375767230988)'
b = re.findall('\d+\.\d+|\d+', a)
print(b) # ['1', '0', '0', '1', '48', '187.17375767230988']
print(b[-2:]) # ['48', '187.17375767230988']
print(tuple(b[-2:])) # ('48', '187.17375767230988')
posted @ 2020-12-24 14:32  一切皆往事  阅读(327)  评论(0)    收藏  举报