正则表达式-继续版
发布于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() { |
打赏