正则表达式的语法
注意事项
在 java 中,\\ 表示:我要插入一个反斜线,从而使其后的字符具有特殊的意义。在 java 中正则表达式中则需要有两个反斜杠才能被解析为转义作用。可以简单的理解在 java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,所以表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\。
字符
1.预定义字符类
●.表示任何字符\.进行转义
●\d数字: [0-9]
●[
^ ]
:用于定义反向字符类。
●\d非数字[^ 0-9]
●\w单词字符: [a-za-z. _0-9] (. _是下划线)
●\w非单词字符: [^ \w]
2.字符类
●[abc]a、b、或c .
●[^abc]任何字符,除了a、 b、或c
●[a-za-z] a到z或a到z, 两头的字母包括在内(范围) 简写[a-z]
3.greedy数量词
●x? x,一次或一次也没有
xx,零次或多次
●x+x,一次或多次
●x{n}x, 恰好n次
●x{n,}x, 至少n次
●x{n,m}x, 至少n次,但是不超过m次n-m次
matches方法
在java中,matches()
方法是一个字符串方法,用于检查该字符串是否与给定的正则表达式匹配。
语法
public boolean matches(string str)
参数
str为匹配字符串的正则表达式
返回值
这个方法返回一个布尔值,如果字符串与正则表达式匹配,那么返回true,否则返回false。
实例
实例1
public class main { public static void main(string[] args) { string email = "example@example.com"; boolean isvalid = email.matches("[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+"); system.out.println("邮箱地址是否有效:" + isvalid); } }
正则表达式解析:
[\\w-]+
:匹配一个或多个字母、数字、下划线或连字符。(\\.[\\w-]+)*
:匹配0个或多个以点号开头,后面跟一个或多个字母、数字、下划线或连字符的组合。@
:匹配字符"@"。[\\w-]+
:匹配一个或多个字母、数字、下划线或连字符。(\\.[\\w-]+)+
:匹配一个或多个以点号开头,后面跟一个或多个字母、数字、下划线或连字符的组合。
实例2
public class main { public static void main(string[] args) { string phonenumber = "13800138000"; boolean isvalid = phonenumber.matches("1[3-9]\\d{9}"); system.out.println("手机号码是否有效:" + isvalid); } }
正则表达式解析:
1
:匹配字符"1"。[3-9]
:匹配数字3到9之间的任意一个数字。\\d{9}
:匹配9个数字。
总结
到此这篇关于java中正则表达式的语法以及matches方法使用的文章就介绍到这了,更多相关java正则语法及matches方法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论