首页 > 编程语言 > 详细

Python 正则表达式

时间:2018-10-31 12:13:31      阅读:116      评论:0      收藏:0      [点我收藏+]


基本字符匹配

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


re模块


mathch

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

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

result = re.match("^Hello\s(\d+)\s\w{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 正则表达式

原文:https://www.cnblogs.com/authetic/p/9882115.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!