概述
正则表达式:用于指定字符串的规则
pattren类 是一个最终类 不能被继承
. | 代表任意字符 |
d | 代表[0-9] |
D | 除了数字0-9 之外的字符 |
s | 代表空白字符 |
w | 代表字母、数字和_ |
常用的数量词:
* | 可有可无 | >= 0 |
? | 最多出现一次 | <= 1 |
+ | 至少出现一次 | >= 1 |
package 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--正则表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复