正则表达式(1|2) 和[1|2]有啥区别
时间: 2024-01-23 12:04:05 浏览: 129
各种正则表达式的不同
正则表达式 `(1|2)` 和 `[1|2]` 的区别在于,前者表示匹配数字 1 或 2,后者表示匹配数字 1 或 2 或 竖线 `|`。
具体来说,`(1|2)` 表示一个分组,匹配数字 1 或 2,而 `[1|2]` 表示一个字符集,可以匹配数字 1 或 2 或 竖线 `|` 中的任意一个字符。
举例来说,正则表达式 `(1|2)xxx` 可以匹配以下字符串:
- 1xxx
- 2xxx
而正则表达式 `[1|2]xxx` 可以匹配以下字符串:
- 1xxx
- 2xxx
- |xxx (注意这里的 | 表示竖线字符,而不是或者的含义)
因此,当我们只需要匹配数字 1 或 2 时,应该使用 `(1|2)`,而不是 `[1|2]`。
阅读全文