版权声明:转载请注明出处 https://blog.csdn.net/chenmingxu438521/article/details/88974173
一、Pattern的介绍
1.Pattern类的作用在于编译正则表达式后创建一个匹配模式,它是java.util.regex.Pattern包下的。
二、Matcher的介绍
2.Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配。
三、怎么去使用
3.接下来就写一个测试类(需求我想要第一个参数param11这个参数):
public class test {
public static void main(String[] args) {
String string = "param11-param2*param3+param4";
Pattern compile = Pattern.compile("\bp\w{6}");
Matcher matcher = compile.matcher(string);
while (matcher.find()) {
//7.取出表达式中的第一个参数
String str = matcher.group(0);
System.out.println(str);
}
}
}
结果:param11
四、关于正则表达式语法
1.正则表达式通用匹配符
正则表达式 | 说明 | 示例 |
. | 匹配任何单个符号,包括所有字符 | match="." result: x a + x b + x c * (x d - x e ) - x f / x g |
^xxx | 在开头匹配正则xxx | match="^x" result:xa |
xxx$ | 在结尾匹配正则xxx | match=".g$" result:xg |
[abc] | 能够匹配字母a,b或c | match="[xa]" result:x a x x x x x x |
[abc][12] | 能够匹配由1或2跟着的a,b或c | |
[^abc] | 当^是[]中的第一个字符时代表取反,匹配除了a,b或c之外的任意字符。 |
(“[^ab][^12].”, “c3#”) – true(“[^ab]..[^12]“, “xcd3″) – true |
[a-e1-8] | 匹配a到e或者1到8之间的字符 | (“[a-e1-3].”, “d#”) – true(“[a-e1-3]“, “2″) – true |
xx|yy | 匹配正则xx或者yy |
五、java正则表达式元字符
正则表达式 | 说明 |
\d | 任意数字,等同于[0-9] |
\D | 任意非数字,等同于[^0-9] |
\s | 任意空白字符,等同于[\t\n\x0B\f\r] |
\S | 任意非空白字符,等同于[^\s] |
\w | 任意英文字符,等同于[a-zA-Z0-9] |
\W | 任意非英文字符,等同于[^\w] |
\b | 单词边界,也就是指单词和空格间的位置 |
\B | 非单词边界 |
六、正则表达式量词
扫描二维码关注公众号,回复:
6083669 查看本文章
正则表达式 | 说明 |
x? | x没有出现或者只出现一次 |
x* | x出现0次或更多 |
X+ | X出现1次或更多 |
X{n} | X正好出现n次 |
X{n,} | X出现n次或更多 |
X{n.m} | X出现至少n次但不多余m次 |
例如:[abc]+表示a,b,c出现一次或者多次
(abc)+ 表示abc出现一次或者多次
七、\b和\\b区别区分
关于"\b"和"\\b"的区别:
\b : 就是正则表达式中单纯的语法;
\b :这是java中转义(转译)字符,"\"代表反斜杠. 在字符串中定义的话,在正则匹配规则中,等同于"\b".
Always keep the faith!!!