正则表达式及在python中的应用

本文整理了常用的正则表达式用法,介绍了正则学习工具,如 http://www.regexpal.com/ 等,还阐述了元字符、量词(包括普通量词和懒惰限定符)、捕获分词等内容,最后给出了参考链接,正则表达式在自然语言处理和工程开发中都很重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

正则表达式在自然语言处理中应用十分广泛,同时在日常的工程开发中也十分重要,本文,整理了作者常用的正则表达式用法,希望对大家有所帮助。

正则学习工具

  • http://www.regexpal.com/
  • http://rubular.com/
  • McTracer

元字符介绍

符号说明
.默认匹配\n之外的任意字符
^匹配字符起始位置
$匹配字符结尾
\A只从字符串开始匹配,类似^
\Z匹配字符串结尾,类似$
\d匹配数字0 - 9
\D匹配非数字
\w匹配数字字母
\W匹配非数字字母
\s匹配空格
\S匹配空字符 \t \n \r
\b匹配字符串边界,但不会消耗任何字符,只匹配一个位置
\B匹配不是单词开头或结束的位置
[abc]字符组,匹配包含括号内元素的字符
[^abc]匹配除了abc以外的任意字符

量词

普通量词

符号说明
?匹配 ? 前面的字符0次或1次(占有)
*匹配 * 前面的字符0次或多次(贪婪)
+匹配 + 前面的字符1次或多次(懒惰)
{m}匹配前一个(组)字符m次
{n, m}匹配前一个(组)字符[n, m]次,即重复n到m次
{n, }匹配前一个(组),重复n次或更多次
|匹配 | 左或者右的字符

懒惰限定符

符号说明
*?重复任意次,但尽可能少重复
+?重复1次或更多次,但尽可能少重复
??重复0次或1次,但尽可能少重复
{n,m}?重复n到m次,但尽可能少重复
{n,}?重复n次以上,但尽可能少重复

捕获分词

pyhton中的说明

python说明
(?P<\name>…)python中可以返回匹配字典
re.match从头开始匹配完整的词
re.search匹配字符串中包含满足规则的字符,只返回一个
re.findall匹配字符串中包含满足规则的字符,返回全部,放在列表中
re.splitall以匹配的字符当做分隔符
re.sub匹配字符并替换

参考链接及推荐阅读:

https://www.cnblogs.com/zhou195/p/6516974.html
https://www.jianshu.com/p/62237b3e2ef9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值