正则表达式① 元字符
元字符
元字符 | 匹配规则 |
---|
普通字符 | 每个普通字符匹配其对应的字符 | | | 或关系,匹配|两侧任意的正则表达式即可 | . | 匹配除换行外的任意单个字符 | [字符集] | 匹配字符集中的任意一个字符,[0-9] [a-z] [A-Z]表示区间内任意一个字符 | [^字符集] | 匹配除了字符集以外的任意一个字符 | * | 匹配前面的字符出现0次或多次 | + | 匹配前面的字符出现1次或多次 | ? | 匹配前面的字符出现0次或1次 | {n} | 匹配前面的字符出现n次 | {m,n} | 匹配前面的字符出现m-n次 | ^ | 匹配目标字符串的开头位置 | $ | 匹配目标字符串的结尾位置 | \d | 匹配任意数字字符 | \D | 匹配任意非数字字符 | \w | 匹配普通字符, 普通字符指数字,字母,下划线,汉字 | \W | 匹配非普通字符,指除数字,字母,下划线,汉字外的字符 | \s | 匹配空字符,空字符指 空格\r \n \t \v \f 字符 | \S | 匹配非空字符 | \b | 匹配单词的边界位置,单词边界指普通字符与其他字符的交界位置 | \B | 匹配非单词的边界位置 |
注意: 当元字符与Python字符串中转义字符冲突的情况则需要使用r将正则表达式字符串声明为原始字符串,如果不确定那些是Python字符串的转义字符,则可以在所有正则表达式前加r。
类别 | 元字符 |
---|
匹配字符 | . [...] [^...] \d \D \w \W \s \S | 匹配重复 | * + ? {n} {m,n} | 匹配位置 | ^ $ \b \B | 其他 | | () \ |
"""
示例:元字符使用
"""
import re
result=re.findall('hello','hello world')
print(result)
result=re.findall('com|cn','www.baidu.com.cn')
print(result)
result=re.findall(".总",'王总,李总,张总,赵总')
print(result)
result=re.findall('[abcd]','hello world')
result=re.findall("[!a-z]",'hello world!')
print(result)
result=re.findall('[^a-d]','abcde')
print(result)
result=re.findall('wo*w','wow!woooow ww!')
print(result)
result=re.findall('wo+w','wow!woooow ww!')
print(result)
result=re.findall('wo?w','wow!woooow ww!')
print(result)
result=re.findall("wo{4}",'wow!woooow ww!')
print(result)
result=re.findall("wo{1,4}",'wow!woooow ww!')
print(result)
result=re.findall("^hi","hi,baby")
result=re.findall("baby$","hi,baby")
print(result)
result=re.findall("\d+","id:1345,eid:87")
result=re.findall("\D+","id:1345,eid:87")
print(result)
result=re.findall("\w+","hi,数字小姐!")
result=re.findall("\W+","hi,数字小姐!")
print(result)
result=re.findall("\s+","hi baby\n")
result=re.findall("\S+","hi baby\n")
print(result)
result=re.findall(r"\bis\b","is this your handbag?")
print(result)
笔记内容参考自:达内吕泽老师
|