python正则学习总结

本文详细介绍了Python正则表达式的语法,包括各种匹配符号的用法,如`^`、`$`、`.`、`*`、`+`、`?`等,以及非贪婪匹配、分组和模块内容。通过阅读,你可以掌握如何在Python中有效地使用正则表达式处理文本。
摘要由CSDN通过智能技术生成
暂时先写到这里,随使用逐步更新此文,希望我的总结能帮到你

Regular Expression Syntax

' . ' 在默认模式下,匹配除换行符以外的任意字符。如果指定 DOTALL 标志,将匹配任何字符,包括换行符。

' ^ ' 匹配字符串的起始,并且在MULTILINE 模式下 也匹配多行的起始位置。

' $ ' 匹配字符串的末尾,或者新的一行前字符的末尾。在 MULTLINE 模式下将匹配多行的末尾位置。'foo' 匹配 'foo''foobar',然而正则表达式'foo$' 仅匹配' foo' 。更有趣的是,search for 'foo.$''foo1\nfoo2\n' 自然匹配’foo2’,在MULTILINE模式下'foo1'会被匹配;在'foo\b'中寻找单一’$’将会返回两个 空(empty)匹配:一个在新的一行之前,一个在字符串的结尾。

' * ' 使该符号前面的正则表达式匹配0次或多次,尽可能更多的匹配。’ab*’ 将会匹配 ‘a’,’ab’或者’a’跟随着任意数量的’b’

' + ' 使得该符号前面的正则表达式匹配1次或多次,'ab+' 将会匹配 ‘a’跟随着任意非零数量的’b’,不会仅仅匹配一个’a’

' ? ' 使得该符号前面的正则表达式匹配1次或0次,'ab?' 将会匹配 ‘a’或’ab’

*?, +? , ?? 符号* ‘,’ + ‘,’ ? ‘是贪婪匹配,他们尽可能更多的匹配字符。有时我们不需要这样的性质,如果 RE <.**>匹配 <a> b <c>,它将会匹配整个字符串,而不是<a>。在这几个符号后面加上?使他进行非贪婪模式匹配或者最小匹配,尽可能少的字符将会被匹配。使用RE <.*?>将会仅仅匹配<a>

{m} 前面的正则表达式重复m次形成的表达式将会被匹配,少于正则次数的将不会被匹配,例如a{6}将会仅匹配 6 个 ‘a’字符,而不是5个’a’

{m,n} 符合前面正则表达式重复m到n次形成的表达式将会被匹配,尽可能的匹配更多的前面的正则。这个表达式还有非贪婪的版本。例如

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值