package _6_4_正则表达式;
public class _6_4_Example_1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//判断字符串是否合法
String s1="Mrkj007";
String s2="mrkj007";
boolean bn1=s1.matches("\\p{Upper}\\p{Lower}\\p{Lower}\\p{Lower}\\d\\d\\d");
boolean bn2=s2.matches("\\P{Upper}\\P{Lower}\\P{Lower}\\P{Lower}\\d\\d\\d");
System.out.println("s1是合法数据吗? "+bn1);
System.out.println("s2是合法数据吗?"+bn2);
//正则表达式的限定符
String regex="\\w{0,}\\@\\w{0,}\\.{1}\\w{0,}";
String str1="aaa@";
String str2="aaaa";
String str3="aaaaa@111.com";
if(str1.matches(regex)){
System.out.println(str1+"是一个Email地址格式");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个Email地址格式");
}
if(str3.matches(regex)){
System.out.println(str3+"是一个Email地址格式");
}
else{
System.out.println("都不是Email地址格式");
}
//方括号中元字符的含义
String telephone1="11024588795";
String telephone2="15044268138";
System.out.println(check(telephone1));
System.out.println(check(telephone2));
}
public static String check(String handset){
String regex="1[3,5,8]\\d{9,}$";//定义正则表达式$是字符串的结尾标示符
if(handset.matches(regex)){//测试匹配结果
return handset+"\n是合法的手机号码";
}
else{
return handset+"\n不是合法的手机号码";
}
}
}
package _6_4_正则表达式;
public class _6_4_Example_2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//验证IP地址的合法性
String ip="192.168.1.1";
System.out.println(check(ip));
}
public static String check(String text){
if(text!=null&&!text.isEmpty()){//空格?????????
String regex="(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
if(text.matches(regex)){
return text+"\n是一个合法的IP地址";
}
else{
return text+"\n不是一个合法的IP地址";
}
}
return "请输入要验证的IP";
}
}
package _6_4_正则表达式;
import java.util.regex.Pattern;
public class _6_4_Example_3 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//计算文章中汉字的个数
String text="今天天气蛮好的so nice 啦。";
int amount=0;
for(int i=0;i<text.length();i++){
boolean matches=Pattern.matches("^[\u4E00-\u9FA5]{0,}$", ""+text.charAt(i));
if(matches){
amount++;
}
}
System.out.println(text+"\n中有几个汉字:"+amount);
}
}