java中的正则表达式

Posted 邓维

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的正则表达式相关的知识,希望对你有一定的参考价值。

java中的正则表达式:

1:常见的表示规则:

 1 \      反斜线字符 (即:)
 2 
 3 
 4 字符类 
 5 [abc] a、b 或 c(简单类) 
 6 [^abc] 任何字符,除了 a、b 或 c(否定) 
 7 [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) 
 8 [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) 
 9 [a-z&&[def]] d、e 或 f(交集) 
10 [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) 
11 [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去) 
12 
13 预定义字符类 
14 . 任何字符(与行结束符可能匹配也可能不匹配) 
转意字符 (\表示:,\.表示:.即:点本身)
15 d 数字:[0-9] 16 D 非数字: [^0-9] 17 s 空白字符:[ x0Bf ] 18 S 非空白字符:[^s] 19 w 单词字符:[a-zA-Z_0-9] 20 W 非单词字符:[^w] 21 22 边界匹配器 23 ^ 行的开头 24 $ 行的结尾 25  单词边界 26 B 非单词边界 27 A 输入的开头 28 G 上一个匹配的结尾 29  输入的结尾,仅用于最后的结束符(如果有的话) 30 z 输入的结尾 31 32 Greedy 数量词 33 X? X,一次或一次也没有 34 X* X,零次或多次 35 X+ X,一次或多次 36 X{n} X,恰好 n 次 37 X{n,} X,至少 n 次 38 X{n,m} X,至少 n 次,但是不超过 m 次

 

例子:1:判断是否是手机号是否以13或18开头,满足11位:

 1 public class RegexDemo {
 2     public static void main(String[] args) {
 3         //键盘录入手机号码
 4         Scanner sc = new Scanner(System.in);
 5         System.out.println("请输入你的手机号码:");
 6         String phone = sc.nextLine();
 7         
 8         //定义手机号码的规则
 9         String regex = "1[38]\d{9}";
10         
11         //调用功能,判断即可
12         boolean flag = phone.matches(regex);
13         
14         //输出结果
15         System.out.println("flag:"+flag);
16     }
17 }

2:验证邮箱:

 1 /*
 2  * 校验邮箱
 3  * 
 4  * 分析:
 5  *         A:键盘录入邮箱
 6  *         B:定义邮箱的规则
 7  *             [email protected]
 8  *             [email protected]
 9  *             [email protected]
10  *             [email protected]
11  *             [email protected]
12  *         C:调用功能,判断即可
13  *         D:输出结果
14  */
15 public class RegexTest {
16     public static void main(String[] args) {
17         //键盘录入邮箱
18         Scanner sc = new Scanner(System.in);
19         System.out.println("请输入邮箱:");
20         String email = sc.nextLine();
21         
22         //定义邮箱的规则
23         //String regex = "[a-zA-Z_0-9][email protected][a-zA-Z_0-9]{2,6}(\.[a-zA-Z_0-9]{2,3})+";
24         String regex = "\[email protected]\w{2,6}(\.\w{2,3})+";
25         
26         //调用功能,判断即可
27         boolean flag = email.matches(regex);
28         
29         //输出结果
30         System.out.println("flag:"+flag);
31     }
32 }

 


以上是关于java中的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA正则表达式怎么匹配所有符合要求的子字符串

用java正则表达式提取java程序中的注释

text 正则表达式片段

markdown 正则表达式模式片段

JAVA中的正则表达式简介

正则表达式检测代码中的注释[重复]