正则表达式与模式匹配全解析
1. 正则基础概念
在正则表达式中, * 修饰符仅作用于紧邻的范围,因为它只对紧邻的原子有效。单个范围可视为一个原子,而两个范围则不是。原子本身以及后面带有 * 、 + 或 ? 的原子被称为片段。其中,原子后接 + 表示匹配该原子的一个或多个连续序列;原子后接 ? 表示匹配该原子或空字符串。
例如:
- "a+" 能匹配 "a" 和 "aa" ,但不能匹配空字符串 "" 。
- "a?" 能匹配 "a" 和 "" ,但不能匹配 "aa" 。
- "0x[0-9a-f]+" 可匹配 C 语言中的十六进制数,如 "0x0b2e" 或 "0xffff" 。
- "-?[1-9][0-9]*" 能匹配正整数或负整数,像 1、10、1000、 -1 和 -1000 等。这里的 [1-9] 避免了数字以 0 开头,防止匹配像 -05 和 007 这样的字符串。
-?[1-9][0-9]* </
超级会员免费看
订阅专栏 解锁全文
5334

被折叠的 条评论
为什么被折叠?



