以下是整理后的数字相关正则表达式用法说明,按功能分类清晰列出:
一、匹配单个数字
- d匹配任意一个数字字符(等价于 [0-9])示例:ad 匹配 a1、a5,但不匹配 aa
二、匹配数字数量
- d*匹配零个或多个数字字符示例:1d* 匹配 1、123,也匹配 1abc(因 * 允许零次)
- d+匹配至少一个数字字符示例:d+ 匹配 3、456,但不匹配空字符串或 abc
- d{n}匹配恰好 n 个数字字符示例:d{3} 匹配 123、456,但不匹配 12 或 1234
- d{n,m}匹配至少 n 个,最多 m 个数字字符示例:d{2,4} 匹配 12、123、1234,但不匹配 1 或 12345
三、匹配数字范围
- [0-9]等价于 d,匹配 0 到 9 的任意一个数字示例:[1-3] 匹配 1、2、3
四、匹配非数字
- D匹配任意一个非数字字符(等价于 [^0-9])示例:D+ 匹配 abc、@#!,但不匹配 123
- [dD]匹配任意字符(包括数字和非数字)用途:常用于匹配全文(如 [dD]* 替代 . 的跨行匹配)
五、匹配数字位置
- ^d匹配以数字开头的字符串示例:^d 匹配 1a 中的 1,但不匹配 a1
- d$匹配以数字结尾的字符串示例:d$ 匹配 a1 中的 1,但不匹配 1a
六、其他常见组合
- 整数匹配^d+$:匹配纯数字字符串(如 123,不包含字母或符号)。
- 浮点数匹配^d+.d+$:匹配简单浮点数(如 3.14,需根据实际需求调整)。
使用建议
- 精确匹配:若需严格匹配数字(如验证输入),建议结合 ^ 和 $ 限定边界(如 ^d+$)。
- 性能优化:避免过度使用 * 或 +(如 .*),可能引发回溯问题。
- 语境适配:根据编程语言调整转义字符(如某些语言中需写为 d)。