
正则表达式(3)更多干货--特殊字符与普通字符
发布日期:2021-05-07 15:03:45
浏览次数:16
分类:精选文章
本文共 1349 字,大约阅读时间需要 4 分钟。
标题:正则表达式(3)更多干货–特殊字符与普通字符
正则表达式(RE)是一种强大的工具,用于匹配字符串中的特定模式。它通过结合特殊字符与普通字符,帮助我们从大量数据中提取所需信息,就像过滤泥沙一样。接下来,我们将深入探讨正则表达式中的特殊字符及其应用。
特殊字符是正则表达式中的核心要素,它们赋予了我们对字符串进行精确匹配的能力。以下是一些常见的特殊字符及其作用:
.
:匹配任意单个字符(除换行符外)。^
:匹配字符串的开头。$
:匹配字符串的结尾或换行符前的位置。*
:匹配前一个字符零次或多次(贪婪模式)。+
:匹配前一个字符一次或多次(贪婪模式)。?
:匹配前一个字符零次或一次(贪婪模式)。{m,n}
:匹配前一个字符从m次到n次(贪婪模式)。{m,n}?
:匹配前一个字符从m次到n次(非贪婪模式)。\
:用于转义特殊字符或表示特殊序列。[]
:定义一个字符集合,^
作为第一个字符表示取反集合。|
:创建匹配或的条件(A或B)。(...)
:匹配括号内的子表达式,支持捕获和回溯。(?aiLmsux)
:开启正则表达式的各种标志选项。(?:...)
:非捕获组,用于组织表达式。(?P<name>)
:为捕获组命名,以便在后续使用。(?P=name)
:引用已捕获的组名。(?#...)
:注释行,忽略不计。(?=...)
:正向断言,匹配后续位置满足条件但不消耗字符。(?!...)
:负向断言,匹配后续位置不满足条件。(?<=...)
:前置断言,匹配前置满足条件的位置。(?<...)
:后置断言,匹配后置满足条件的位置。(?<=...)
:匹配前置满足条件的位置。(?<=...)
:匹配后置满足条件的位置。特殊序列则用于表示更复杂的模式匹配需求。常见的特殊序列包括:
\A
:匹配字符串的开头。\Z
:匹配字符串的结尾。\b
:匹配单词边界。\B
:匹配非单词边界。\d
:匹配任意数字。\D
:匹配非数字字符。\s
:匹配任意空白字符。\S
:匹配非空白字符。\w
:匹配任意字母、数字或下划线。\W
:匹配任意非字母、非数字、非下划线字符。\
:匹配一个字母,避免特殊解释。通过合理使用这些特殊字符和序列,我们可以构建复杂的正则表达式,精准提取所需信息。例如,在以下代码中:
import redemo_str1 = '''agoo¥glelgooooogxyz123ab#c456 xyz789wwcgo#698ogle woaini'''# 使用正则表达式提取单词reg4 = re.findall(r'\w+', demo_str1)print(reg4) # 输出: ['agoo', 'gle', 'lgoo', 'og', 'xyz', 'ab', 'c456', 'xyz', '789', 'ww', 'cgo', 'ogle', 'woaini']
r'\w+'
匹配一个或多个字母、数字或下划线,用于提取单词。若需保留特殊字符,可以改用r'\w+[\W]*'
,以包含特殊符号。
正则表达式的高级应用还包括分组、锚定和回溯等功能,后续内容将详细探讨这些高级特性。通过合理运用这些工具,我们可以高效地处理各种字符串数据,为开发和数据分析提供强大支持。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月29日 10时11分31秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
工作动态尽在掌握 - 使用 CODING 度量团队效能
2019-03-06
CODING DevOps 代码质量实战系列最后一课,周四发车
2019-03-06
CODING DevOps 深度解析系列第二课报名倒计时!
2019-03-06
CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践
2019-03-06
翻译:《实用的Python编程》03_01_Script
2019-03-06
数据结构第八节(图(下))
2019-03-06
基础篇:异步编程不会?我教你啊!CompletableFuture
2019-03-06
基于Mustache实现sql拼接
2019-03-06
气球游戏腾讯面试题滑动窗口解法
2019-03-06
POJ 2260 Error Correction 模拟 贪心 简单题
2019-03-06
POJ - 1328 Radar Installation 贪心
2019-03-06
CSUOJ Water Drinking
2019-03-06
自定义博客园博客的背景图片
2019-03-06
Spring MVC+javamail实现邮件发送
2019-03-06
Asp.NET Core 限流控制-AspNetCoreRateLimit
2019-03-06
gRPC在 ASP.NET Core 中应用学习(一)
2019-03-06
@SuppressWarnings 用法
2019-03-06
看完你就明白的锁系列之锁的状态
2019-03-06
看完这篇操作系统,和面试官扯皮就没问题了
2019-03-06
我的价值观
2019-03-06