正则表达式 Regex 复习笔记

正则表达式使用目标是操作字符串

语法规则:

[abc]: a, b, c 中任意一个字符;
[^abc]: 除a,b,c 外的任意一个字符;
[a-zA-Z]: 从 a 到 z,A 到 Z 中的任意一个字符;
[a-d[m-p]]: a-d 与 m-p 的并集;
[a-d&&[def]]: a-d 与 def 的交集;

\s,空白;\S, 非空白;\d, \D 数字和非数字;\w, \W 单词字符(字母数字下划线)和非单词字符;

Greedy 数量限制:

X?:X 字符出现一次或零次;
X*: 零次或多次;
X+:一次或多次;
X{n}, X{n,}, X{n,m}: 分别为恰好 n,大于等于 n,n 到 m 次,注意不要加入空格;

Java 中如 split,replace 等函数都可以使用 regex;

正则表达式的分组功能

使用括号分隔一串正则表达式,以左括号确认组数。
((A)(B(C))) 中,((A)(B(C))), (A), (B(C)), (C) 分别为组 1,2,3,4;组 0 始终代表整个表达式;
简单使用实例":
String s = "我我我我在在在在学学习习习习";
s.replaceAll("(.)\\1+", "$1"); 之后结果 s 是 “我在学习”; \\1 代表第一组,$1 代表第一组的内容;

Java 中正则表达式相关 Pattern 和 Matcher
Pattern p = Pattern.compile("regex_pattern");
Matcher m = p.metcher("str_to_match");
boolean flag = m.find();

// find() 函数查找后可通过 group() 函数获取匹配到的字符串(匹配字符串中的一部分);

猜你喜欢

转载自blog.csdn.net/qq_37427344/article/details/83188354