Python 正则表达式

Posted authetic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 正则表达式相关的知识,希望对你有一定的参考价值。


基本字符匹配

  • s 空白符
  • w 字母或下划线
  • d 任意数字
  • ^ 匹配一行字符串开头
  • $ 匹配一行字符串的结尾
  • * 匹配0个或多个表达式
  • + 匹配一个或多个表达式
  • . 匹配任意字符(除换行符)
  • ? 非贪婪匹配方式
  • a|b 匹配a或b
  • () 子表达式
  • {} 匹配个数


re模块


mathch

从头开始匹配,开头匹配不成功则匹配失败,适合用来检测字符串是否符合正则表达式的规则

result = re.match("^Hellosw{10}sddd", "Hello zayn_malik 123")
print(result.group())  # 输出匹配结果
print(result.span())  # 输出匹配范围

result = re.match("^Hellos(d+)sw{10}", "Hello 123 zayn_malik 123")
print(result.group(1))  # 输出括号里子表达式的结果
print(result.group())

content = ‘‘‘Hello 1234 puth 
 demo‘‘‘
# re.S使.匹配包括换行符内的所有字符 re.I使大小写不敏感
result = re.match("^He.*?(d+).*?demo$", content, re.S)  


扫描整个字符串,返回第一个成功匹配的结果

html = ‘‘‘ <ul>
            <li class="active" singer="zayn">Let me</li></ul>

result = re.search(‘<li.*?singer="(.*?)">(.*?)</li>‘, content, re.S)
print(result.group(1), group(2))  # zayn Let me


findall

搜索整个字符串,返回符合正则表达式的所有内容


sub

修改字符串的内容

content = ‘dada13vsnk31231‘

result = re.sub("d+", ‘‘, content)
print(content)  # 去掉字符串中的数字


compile

将字符串编译为正则表达式对象

content = "2018-10-31 11:29"

pattern = re.compile("d{2}:d{2}")
result = re.sub(patter, ‘‘, content)
print(result)  # 去掉日期中的时间







以上是关于Python 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

python 正则表达式

python成长之路第三篇_正则表达式

python成长之路第三篇_正则表达式

python 正则表达式 re模块基础

Python学习笔记之正则表达式

python基础学习(十三)