package com.regex;
import java.util.regex.Pattern;
/**
* \为转义字符 普->非普 非普->原义
* 字符匹配 . 任意字符 \d 匹配数字 \w 包含数字和字符 \S 非空任何输入的
* 次数匹配 ?:0or1次 +:1+次 *:(0+)次
* 区间内选择:[1-999] [1,2,3] [1|2]
* 子表达式()
*/
public class RegexExercise {
public static void main(String[] args) {
// checkMatch("^http(s)?://.*\\.com.*", "https://baidu.cn.com");
// checkMatch("1[3,5,7,8,9]{1}\\d{9}", "13112345678"); //手机号码
checkMatch("^1\\d{10}", "13112345678"); //手机号码
checkMatch(".*@.*\\..+","1234@qq.cn"); //邮箱
checkMatch("\\d{6}[1,2]\\d{3}(0\\d|1[0-2])([0-2]\\d|3[0,1])\\d{3}[1,2,X]",
"12312323101301103X"); //身份证号
checkMatch("\\w+","121313ddd."); //任意字符,数字,英文
checkMatch("[A-z]+","Aeafaf"); //英文字符
checkMatch("[\\u4e00-\\u9fa5]+","瞅");
checkMatch("\\s"," ");
checkMatch("\\S*","#weqe###");
checkMatch("[1|2]|[3,4]","6");
}
private static void checkMatch(String reg, String toCheck) {
Pattern pattern = Pattern.compile(reg);
boolean result = pattern.matcher(toCheck).matches();
System.out.println(String.format("表达式:%s,输入:%s,结果:%s",reg,toCheck,result));
}
}
正则表达式
最新推荐文章于 2024-08-17 21:47:47 发布