正则表达式-继续版
发布于2023-12-27 23:29:04,更新于2023-12-28 16:35:27,标签:java regex 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog正则表达式中,整理元素的含义列表如下
元素 | 含义 |
---|---|
* | 重复0次或者多次 |
+ | 重复1次或者多次 |
? | 重复0次或者1次 |
. | 匹配任意字符,除了换行符 |
^ | 匹配字符串开头 |
$ | 匹配字符串结尾 |
- | 表示字符范围。如a-z,表示选择字母的范围为从a到z |
[…] | 匹配中括号内任意一个字符 |
[^…] | 匹配中括号内除列举的字符以外的任意字符 |
(…) | 捕获分组,用于匹配并捕获匹配字符串的部分 |
(?:…) | 非捕获分组,用于匹配且不捕获匹配字符串的部分。可以提高正则表达式的性能,减少内存开销 |
| | 逻辑or,匹配左右任意一个表达式 |
\d | 匹配任意数字,相当于[0-9] |
\D | \d的else含义 |
\w | 匹配任意字母、数字、下划线,相当于[a-zA-Z0-9_] |
\W | \w的else含义 |
\s | 匹配任意空白字符,包括空格、制表符等 |
\S | \s的else含义 |
\b | 匹配一个单词的边界,即单词字符和非单词字符之间的位置。一个单词字符是指字母、数字或下划线。 |
\B | \b的else含义,即两个单词字符或两个非单词字符之间的位置。 |
{n} | 匹配前一个元素n次 |
{n,} | 匹配前一个元素至少n次 |
{n,m} | 匹配前一个元素至少n次,但不超过m次 |
元素的优先级顺序如下
优先级 | 元素 |
---|---|
1 | () |
2 | \ |
3 | {}、 *、 +、 ? |
4 | ^、 $、 \b、 \B |
5 | []、 - |
6 | | |
验证\b
与\B
1 | public static void main(String[] args) { |
验证(...)
与(?:...)
1 | public static void test2() { |
打赏