正则表达式
一直搞不清楚正则表达式,今天终于把它搞明白了!
首先来看正则表达式的定义:
正则表达式,又称规则表达式,Regular Expression,所以通常会简写成regex。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
//先声明一个字符串:
String r = "jl1998";
//然后用正则表达式来判断
boolean regex = r.matches("\\p{Lower}\\p{Lower}\\d\\d\\d\\d");
//matches()方法返回为true的话,则该字符符合正则表达式
//还可以用限定符来表示
boolean regex = r.matches("\\p{Lower}{2}\\d{4}");
//利用以下正则表达式可以判断手机号是否合法
boolean regex = r.matches("1[3,5,8]\\d{9}$");
//其中"$“字符是字符串的结尾匹配符
更多的正则表达式用法可查看正则表达式手册
多加练习之后就可以做一下测试题了,如题:判断字符串”mingrikejijavabu“中字符”i“出现了几次,并将结果输出
//不用正则表达式版
// String s = "mingrikejijavabu";
// int count = 0;
// for (int i = 0; i < s.length(); i++) {
// if (s.charAt(i)=='i')
// {
// count++;
// }
// }
// System.out.println(count);
//使用正则表达式版
String s = "mingrikejijavabu";
int count = 0;
for (int i = 0; i < s.length(); i++) {
boolean matches = Pattern.matches("[i]", "" + s.charAt(i));
if (matches)
{
count++;
}
}
System.out.println(count);