Python(21)正则表达式中的“元字符”
大家好!我是码银🥰
欢迎关注🥰:
CSDN:码银
公众号:码银学编程
获取资源:公众号回复“python资料”
在本篇文章中介绍的是正则表达式中一部分具有特殊意义的专用字符,也叫做“元字符”,下面我给一些例子看一下:
元字符 | 使用说明 |
. | 匹配任意字符(除了"\n") |
\d | 0~9的整数字元 |
\D | 匹配除了0~9的整数字元以外的其他字符 |
\s | 空白、定位、Tab 键、换行、换页字符 |
\S | 除了空白、定位、Tab键、换行、换页字符以外的其他字符 |
\w | 数字、字母和下划线 |
\W | 除了数字、字母、下划线以外的其他字符 |
正文
单一字符使用通配符“.”
“ . ”表示可以搜寻除了换行字符以外的所有字符,但是只限定一个字符。
如果搜寻的是真正的“ . ”字符,须使用反斜杠 “ \. ”。
import re
msg = "I found that the British people really enjoy eating and drinking outdoors"
pattern = '.in'
txt = re.findall(pattern,msg)
print(txt)
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
['tin', 'rin', 'kin']
所有字符使用通配符“.*”
"."和"*"相结合,就可以搜寻所有字符啦!
import re
msg = "I found that the British people really enjoy eating and drinking outdoors"
pattern = 'I(.*)people(.*)'
txt = re.findall(pattern,msg)
print(txt)
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
[(' found that the British ', ' really enjoy eating and drinking outdoors')]
Process finished with exit code 0
其他字符的使用
\d
import re
msg = "I found \n, 123_\tr"
pattern = '\d' #更换元字符
txt = re.findall(pattern,msg)
print(txt)
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
['1', '2', '3']
\D
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
['I', ' ', 'f', 'o', 'u', 'n', 'd', ' ', '\n', ',', ' ', '_', '\t', 'r']
\s
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
[' ', ' ', '\n', ' ', '\t']
\S
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
['I', 'f', 'o', 'u', 'n', 'd', ',', '1', '2', '3', '_', 'r']
\w
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
['I', 'f', 'o', 'u', 'n', 'd', '1', '2', '3', '_', 'r']
\W
输出结果:
D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test3.py
[' ', ' ', '\n', ',', ' ', '\t']