Java从入门到放弃教程十五--正则表达式
1、正则用法:
String str = "待验证文本";
String regular = "这里是正则表达式";
if (Pattern.compile(regular).matcher(str).matches()) {
System.out.println("符合条件");
} else { System.out.println("不符合条件");
}
2、下面例子计算单词 "cat " 在字符串中出现的次数。
3、下面是正则表达式中的一些常用模式。
.匹配除换行符以外的所有字符
x?匹配0次或一次x字符串
x*匹配0次或多次x字符串,但匹配可能的最少次数
x+匹配1次或多次x字符串,但匹配可能的最少次数
.*匹配0次或一次的任何字符
.+匹配1次或多次的任何字符
{m}匹配刚好是m个的指定字符串
{m,n}匹配在m个以上n个以下的指定字符串
{m,}匹配m个以上的指定字符串
[]匹配符合[]内的字符
[^]匹配不符合[]内的字符
[0-9]匹配所有数字字符
[a-z]匹配所有小写字母字符
[^0-9]匹配所有非数字字符
[^a-z]匹配所有非小写字母字符
^匹配字符开头的字符
$匹配字符结尾的字符
\d匹配一个数字的字符,和[0-9]语法一样
\d+匹配多个数字字符串,和[0-9]+语法一样
\D非数字,其他同\d
\D+非数字,其他同\d+
\w英文字母或数字的字符串,和[a-zA-Z0-9]语法一样
\w+和[a-zA-Z0-9]+语法一样
\W非英文字母或数字的字符串,和[^a-zA-Z0-9]语法一样
4、推荐使用一些软件进行检测,比如网站regexr
5、java常用正则表达式
验证汉字^[/u4e00-/u9fa5]{0,}$
JAVA验证邮箱
public static void main(String[] args) {
// 要验证的字符串
String str = "service@xsoftlab.net";
// 邮箱验证规则
String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 字符串是否与正则表达式相匹配
boolean rs = matcher.matches();
System.out.println(rs);
}