正则表达式:用于指定字符串的规则
pattren类 是一个最终类 不能被继承
. | 代表任意字符 |
d | 代表[0-9] |
D | 除了数字0-9 之外的字符 |
s | 代表空白字符 |
w | 代表字母、数字和_ |
常用的数量词:
* | 可有可无 | >= 0 |
? | 最多出现一次 | <= 1 |
+ | 至少出现一次 | >= 1 |
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59package cn.tedu.pattern; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternDemo01 { public static void main(String[] args) { // 匹配一个字符串 值是abc String str = "abc"; // 指定正则表达式的规则 Pattern p = Pattern.compile("abc"); // 将需要匹配的字符串和正则表达式进行关联 Matcher m = p.matcher(str); // 匹配 如果匹配成功,返回true 如果匹配失败,返回false System.out.println(m.matches()); // 匹配一个字符串 要求:有三个字符 // 第一个字符是 xyz中的一个 // 第二个字符是 7856数字中的一个 // 第三个字符是 iop中的一个 String str1 = "x5py"; // 定义正则表达式 Pattern p1 = Pattern.compile("[xyz][7568][iop]"); // 正则表达式和需要匹配的字符串进行关联 Matcher m1 = p.matcher(str); // 进行匹配 System.out.println(m.matches()); // 简化版正则 String str2 = "8"; System.out.println(str.matches("[xyz][4578][opu]")); // 需求:匹配所有的小写字母 System.out.println(str.matches("[a-z]")); // 需求:匹配所有的大写字母 System.out.println(str.matches("[A-Z]")); // 需求:匹配一个字母 System.out.println(str.matches("[a-zA-Z]")); // 需求:匹配一个数字 System.out.println(str.matches("[0-9]")); // 小写字母h到n System.out.println(str.matches("[h-n]")); // 需求:匹配一个字符的字符串,要求是不能有 a b c String str = "8+a"; System.out.println(str.matches("[^abc]")); // 需求:匹配三个字符的字符串,要求 // 以数字开头,以字母结尾 // . 通配符 代表的是所有的字符 // Invalid escape sequence // (valid ones are b t n f r " ' \ ) // d 是正则表达式的转义字符 java中没有对应的转义字符 // \d java首先将\d转换为d,正则表达式再将d转换为 0-9 System.out.println(str.matches("\d.[a-zA-Z]")); // [i-x] System.out.println(str.matches("[h-x]&&[i-z]")); // 需求: 匹配 . String s = "0"; System.out.println(s.matches("\.")); // 需求:匹配 --> \\ String s1 = new Scanner(System.in).nextLine(); System.out.println(s.matches("\\")); } }
最后
以上就是含糊航空最近收集整理的关于JavaSE--正则表达式的全部内容,更多相关JavaSE--正则表达式内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复