python正则匹配
import re
结果=re.match(“匹配规则”,”你要匹配的句子”)
print(结果.group())
匹配单个字符
. 匹配任意一个字符除了(\n)
[]匹配口中列举的字符
\d匹配数字0-9
\D匹配非数字
\s匹配空白就是空格和tab键
\s匹配非空白
\w匹配单词字符a-z A-Z 0-9 _
\W匹配非单词的字符
正川表达式匹配多个字符
*匹配前一个字符出现0次或者多次>=0
+匹配前一个字符出现次数>=1
?匹配前一个字符出现1次或者0次 要么是一次 要么就是没有
{m}匹配前一个字符出现m次
{m,n}匹配前一个字符出现从m到n次
结果2=re.match(“asd.*”,“asdfggh”)
print(结果2.group())
输出:asdfggh
正则表达式匹配开头与结尾
^2 以2为开头的字符
d$ 以d为结尾的字符
匹配分组
| 匹配左右任意一个表达式
(ab) 将括号中的字符作为一个分组
\num 引用分组mm配到的字符串
(?P<name>) 分组起别名
(?P=name) 引用分组为name分组匹配到的字符串
结果3=re.match(“\w{4,20}@(169|qq|outlook)\.com”,“88888888@qq.com”)
print(结果3.group())
输出:88888888@qq.com
结果4=re.match(r”<([a-zA-Z]*)>\w*</\1>”,“<html>hhhhh</html>”)
print(“结果4”,结果4.group())
输出:结果4 <html>hhhhh</html>
结果5=re.match(“<(?P<name1>\w*)><(?P<name2>\
w*)>.*</(?P=name2)></(?P=name1)>”,“<h><html>hhhhh</html></h>”)
print(“结果5”,结果5.group())
输出:<h><html>hhhhh</html></h>
结果6=re.search(r”\d+”,“阿萨德1234”)
print(结果6.group())
输出:1234
结果7=re.findall(r”\d+”,“java=1000,c++=123445”)
print(结果7)
输出:[‘1000’, ‘123445’]
结果8=re.sub(r”\d+”,“999”,“python=10000”)
print(结果8)
结果8:python=999
结果9=re.split(r”:| “,“asdd:asddddd asdasdfd sadsdd”)
print(结果9)
结果:[‘asdd’, ‘asddddd’, ‘asdasdfd’, ‘sadsdd’]
#在“+”*“”?“”{n,m}“后面加“?”,使其变得非贪婪。
结果10=re.match(“aa(\d+?)”,“aa123255gg”)
print(结果10.group())
输出:aa1
发表回复