正则表达式

正则表达式是一种强大的文本模式匹配和搜索工具,它使用一种特殊的语法来描述字符串的模式。Python 中的正则表达式由 re 模块提供支持,让你可以在字符串中执行复杂的模式匹配和搜索操作。

以下是一些常用的正则表达式语法和功能:

1. 匹配单个字符:

  • .: 匹配任意字符(除了换行符)。

  • \d: 匹配任意数字。

  • \D: 匹配任意非数字字符。

  • \w: 匹配任意字母、数字或下划线。

  • \W: 匹配任意非字母、数字或下划线字符。

  • \s: 匹配任意空白字符。

  • \S: 匹配任意非空白字符。

2. 匹配重复字符:

  • *: 匹配前一个字符的零次或多次。

  • +: 匹配前一个字符的一次或多次。

  • ?: 匹配前一个字符的零次或一次。

  • {n}: 匹配前一个字符恰好 n 次。

  • {n,}: 匹配前一个字符至少 n 次。

  • {n,m}: 匹配前一个字符至少 n 次,但不超过 m 次。

3. 匹配位置:

  • ^: 匹配字符串的开头。

  • $: 匹配字符串的结尾。

  • \b: 匹配单词的边界。

  • \B: 匹配非单词的边界。

4. 匹配字符集合:

  • []: 匹配字符集中的任意一个字符。

  • [^]: 否定字符集,匹配不在字符集中的任意一个字符。

  • [a-z]: 匹配指定范围内的字符。

  • [a-zA-Z0-9]: 匹配多个字符范围。

5. 其他常用语法:

  • |: 或操作,匹配两个表达式中的任意一个。

  • (): 分组操作,将表达式分组,以便对其进行后续操作。

  • \: 转义字符,用于匹配特殊字符。

  • re.IGNORECASEre.I: 忽略大小写匹配。

  • re.MULTILINEre.M: 多行匹配。

示例:

  • 匹配邮件地址:r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

  • 匹配 URL:r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'

  • 匹配日期:r'\b\d{4}-\d{2}-\d{2}\b'

总之,正则表达式是一种强大的工具,但也很复杂。在实践中,可能需要不断地尝试和调整表达式,以匹配特定的模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值