正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式中的元字符。
正则表达式作为用来匹配字符串的一种工具,拓宽了字符串匹配的范围,实现了“每个字符匹配”到“字符串格式匹配”的转换。如: 判断字符串是否是有效的电子邮件地址? 判断字符串是否是有效的身份证号码?
事实上,正则表示式也常用于爬取网页数据(爬虫), 因为爬虫其实就是一个程序,用于在互联网中获取符合指定规则的数据 。
元字符
正则表达式中的特殊字符,例如:“\d” 代表0到9中的任何一个数字。
在正则表达式中可以用方括号括起若干个字符来表示一个元字符,该元字符代表方括号中的任何一个字符。例如String regex="[159]ABC",那么"1ABC"、"5ABC"和"9ABC"都是和正则表达式regex匹配的字符序列。
限定符
例如,regex="@lw{4}",那么"@abcd""@天道酬勤""@Java"和"@bird"都是与正则表达式regex匹配的字符串。
举例:匹配邮箱地址
在普通的邮箱地址中,要求//@前有至少一个标识符,@后和"."之间有至少一个标识符,"."后有至少一个标识符,即只要符合xx@xxx.xxx的即可。
String regex = "\\w{1,}@\\w{1,}\56\\w{1,}"; //\56表示'.'
String s1= “abc@lance.top"; //合法
String s2= “abc@work.zyliu.xyz"; //不合法
/*
匹配结果:
s1.matches(regex) = true;
s2.matches(regex) = false;
*/