正则表达式
正则表达式是用来验证某个字符串的内容是否符合格式要求的!
语法:
[ ]:表示匹配一任意一个字符!
例子:
[abc]:表示匹配的字符只能是a,b,c里面的任意一个字符!
[a-z]:"-"表示范围,这里是匹配a到z任意一个小写的字母!
预定义字符:
. :"."表示随便任意一个字符(没有什么限制)
\d:表示任意一个数字相当于[0-9]
\s:表示任意一个空白字符
\w:表示任意一个单一的数字、字母等同[a-zA-Z0-9]
\D\S\W:大写的字母表示非,跟上面小写的相反
量词:
?:表示改内容出现0或者1次
例子:
[abc]?:可以匹配单个a,单个b,单个c或者什么都没有!
(*):星号表示前面的内容出现0到多次
例子:
[abc]*:可以匹配:aaa,bbb,ccc,abc,aabc…等等abc的任意组合或者什么都不写!
+:辩手前面的内容出现1到多次(至少一次)
例子:
[abc]+:可以匹配abc任意组合但是不可以什么都不写!
{number}:number是要填写一个数字0-无穷,表示前面的内容出现number次!
例子:
[abc]{2}:可以匹配aa,bb,cc,ac,cb…等等的abc任意2个组合!
{n,m}:表示最少n次最多m次
例子:
[abc]{2,3}:可以表示abc的任意组合的2位或者3位abc,aaa,aa,baa…只有不超过4位的abc字母组合就可以!
{n, }:表示最少n次
例子:
[abc]{2,}:表示可以匹配abc字母任意2位或者2位以上的组合!
分组:
():将”()“中的内容看作一个整体
例子:
(abc){3}:可以匹配abcabcabc
(abc|def):可以匹配abcdefabc…abc或者def的任意3个组合!
下面来看一个匹配email的例子,来给大家验证一下!
public class MatchesDemo {
public static void main(String[] args) {
/*
* email的正则表达式
* 1105185330@qq.com
*
* [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
* \w+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
*/
String email = "1105185330@qq.com";
String regex ="[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
/**
* boolean matches(String regex)
* 用给定的正则表达式判断当前字符串是否符合规定
*
* 注意:正则表达式通常含有“\”转义字符;那么在Java
* 字符串中表示该正则表达式时所有的“\”都要写成“\\”
*/
boolean match =email.matches(regex);
if(match) {
System.out.println("是邮箱地址!");
}else {
System.out.println("不是邮箱地址!!");
}
}
程序员初成长路线:(很全面的学习视频,网址…点击查看)https://blog.csdn.net/qq_43541242/article/details/107165068