Python正则表达

Python提供re模块实现对正则表达式的支持

字符匹配规则abcabc
.

匹配任意换行符“\n”以外的字符,

在DOALL模式中也能匹配换行符。

a.cabc
\

转义字符

a\\c

a\.c

a\c

a.c

[...]字符集。字符集中的字符可以逐个列出,也可以给出范围。如[abc]或[a-c],第一个字符如果是^则表示取反,如[^abc]表示不是abc的其他字符a[bcd]e

abe

ace

ade

\d数字 [0-9]a\dca1c
\D非数字:[^\d]a\Dcabc
\s非空字符:[<空格>\t\r\f\v]a\sca c
\S非空白字符:[^\s]a\Scabc
\w单词字符:[A-Z,a-z,0-9]a\wcabc
\W非单词字符:[^\w]a\Wca c
*匹配前一个字符0次或无数次abc*

ab

abccc

+匹配前一个字符1次或无限次abc+

abc

abccc

?匹配前一个字符0次或1次ab?

ab

abc

{m}匹配前一个字符m次ab[2]cabbc
{m,n}匹配前一个字符m次至n次,m和n可以省略ab{1,2}c

abc

abbc

|代表左右表达式只匹配一次,总是先匹配左边的表达式,一旦成功会跳过右边的表达式abc|def

abc

def

(...)

被括起来的表达式将作为分组,从表达式左边开始每遇到一个分组的左括号,编号+1

分组表达式作为一个整体,可以在后面接数量词,表达式中 | 仅在该组中有效

(abc){2}

a(123|456)c

abcabc

a456c

         贪婪模式和非贪婪模式

        正则表达式通常用于文本中查找匹配的字符串。Python里的数量词默认是贪婪的,意思是总是尝试匹配尽可能多的字符;非贪婪模式则相反,总是尝试匹配尽可能少的字符。

        例:

        正则表达式"ab*",如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪方法"ab*?",将找到"a"。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值