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')

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号