Python正则表达式模式

在 Python 程序中,模式字符串使用如下特殊的语法来表示一个正则表达式:

  • 字母和数字表示它们自身,一个正则表达式模式中的字母和数字匹配同样的字符串;
  • 当大多数字母和数字前加一个反斜杠时,它们会拥有不同的含义;
  • 标点符号只有被转义时才匹配自身,否则它们表示特殊的含义;
  • 反斜杠本身需要使用反斜杠转义;
  • 因为正则表达式通常都包含反斜杠,所以最好使用原始字符串来表示它们。模式元素(如r'\t',等价于'\\t')匹配相应的特殊字符。


表 1 列出了正则表达式模式语法中的特殊元素。如果使用模式的同时提供了可选的标志参数,则某些模式元素的含义会发生改变。
 

<
表 1:正则表达式模式语法中的特殊元素
模式 描述
^ 匹配字符串的开头
$ 匹配字符串的末尾
. 匹配任意字符,除换行符之外,当指定 re.DOTALL 标记时,则可以匹配包括换行符的任意字符
[...] 用来表示一组字符,单独列出,如 [amk] 匹配 'a' 'm' 或 'k'
[^...] 不在 [] 中的字符,如[^abc] 匹配除 a、b、c 之外的字符
re* 匹配 0 个或多个表达式
re+ 匹配 1 个或多个表达式
re? 匹配 0 个或 1 个由前面的正则表达式定义的片段,非贪婪方式
re{ n} 精确匹配前面的 n 个表达式
re{ n, m} 匹配 n~m 次由前面的正则表达式定义的片段,贪婪方式
a | b 匹配 a 或 b
(re) 匹配括号内的表达式,也表示一个组
(?imx)

正则表达式包含 3 种可选标志—— I、m 或 x。只影响括号中的区域

(?-imx) 正则表达式关闭 I、m 或 x 可选标志。只影响括号中的区域
(?: re) 类似于(…),但是不表示一组
(?imx: re) 在括号中使用I、m 或 x 可选标志

(?-imx: re)

在括号中不使用 I、m 或 x 可选标志
(?#...) 注释
(?= re) 前向肯定界定符。如果所含正则表达式以…表示,则在当前位置匹配时成功;否则,失败。一旦所含表达式已经使用,那么模式的剩余部分还要尝试匹配界定符的右边
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wwwarewow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值