正则表达式是一个特殊的字符序列:用来描述某个规则
re.match(正则表达式, 要匹配的字符串) 得到的是一个对象,匹配不成功返回NONE
match方法的第一个参数接收的是描述某个规则的字符串
第二个参数是要进行校验的值 从左向右开始匹配
.group() (如果匹配到数据的话, 可以使⽤group⽅法来提取匹配到的数据
出现次数:
表示边界
分组匹配
search 搜索符合特征的字符串
ret = re.search(r"\d+", “阅读次数为 9999”)
ret.group()
findall 找出所有符合特征的字符串
ret = re.findall(r"\d+", “python = 9999, c = 7890, c++ = 12345”)
print(ret) 返回列表
sub 将匹配到的数据进⾏替换,返回替换后的字符串
ret = re.sub(r"\d+", ‘998’, “python = 997”)
print(ret)
split 根据匹配进⾏切割字符串, 并返回⼀个列表
ret = re.split(r"😐 ",“info:xiaoZhang 33 shandong”)
import re
line = 'Hello 123 4567 World_This is a Regex Demo'
result = re.match('Hello\s\d\d\d\s\d{4}\s\w{10}', line)
print(result)
print(result.group())
s = r'\na ' #r 将字符串转换成原始字符串
print(s)
ret = re.match(r"c:\\a\\b", "c:\\a\\b\\c" )
print(ret.group())
print(re.match(r".*\bver\b", "ho ver abc").group())
print( re.match(r"<(\w*)><(\w*)>.*</\2></\1>", "<html><h1>www.sxt.cn</h1></html>").group())
print(re.match(r"<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.sxt.cn</h1></html>").group())
print(re.match(r"<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.sxt.cn</h1></html>").group())
print(re.search(r"\d+", "阅读次数为 9999").group())
print(re.findall(r"\d+", "python = 9999, c = 7890, c++ = 12345"))
print(re.sub(r"\d+", '998', "python = 997"))
s = "number is 123456789"
ret = re.match(r"(.+)(\d)",s)
print(ret.group(1))
结果为: