Pattern的简单使用

        正则表达式:用符合一定规则的字符描述、匹配指定的字符串,来判定该字符串是否符合相应的语法规则.Java中使用Pattern类来创建正则表达式的实例.

 

 package com.it;

import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo1 {
public static void main(String[] args) {

//match1("1990-11-27");
//split1("a1b22c4dFG4577asd0i");
//replace1("a1B22c4dFG4577asd0i");
//replace2("mghfddjsshdmmmhks55jhk78","(.)\\1+");
//match2("904724283@qq.com");
//match2("1098466221@qq.com");
//split2("mghfddjsshdmmmhks55jhk78","(.)\\1");//切割叠词1,(.)\\1代表第二个和的哥相同的组的概念
//split2("mghfddjsshdmmmhks55jhk78","(.)\\1+");//切割叠词1,(.)\\1代表第二个和的哥相同的组的概念
//get("a1B2asd2dffgca4dFG4577asdf0i","[a-z]{3}");
ipPort();
}
public static void ipPort(){//比较ip
String ip="192.60.1.245 102.34.56.12 198.34.2.78 1.90.234.12";
ip=ip.replaceAll("(\\d+)", "00$1");
System.out.println(ip);

ip=ip.replaceAll("0*(\\d{3})", "$1");
System.out.println(ip);
String s[]=ip.split(" ");
ip=ip.replaceAll("0*(\\d+)", "$1");
System.out.println(ip);
TreeSet<String> ts=new TreeSet<String>();
for (String string : s) {
ts.add(string);
}
StringBuffer ipBuffer=new StringBuffer();
for (String string : ts) {
ipBuffer.append(string+" ");
//System.err.print(string+" ");
}
System.out.println(ipBuffer);
ip=ipBuffer.toString().replaceAll("0*(\\d+)", "$1");
System.out.println(ip);


}
private static void get(String string, String reg) {//获取
// TODO Auto-generated method stub
Pattern pattern=Pattern.compile(reg);
Matcher matcher=pattern.matcher(string);
boolean b=matcher.find();
System.out.println(matcher.group());
while(matcher.find()){
System.out.println(matcher.group());
}
}

private static void replace2(String string, String reg) {
// TODO Auto-generated method stub
Pattern pattern=Pattern.compile(reg);
Matcher matcher=pattern.matcher(string);
String newString=matcher.replaceAll("-");
System.out.println(string+" "+newString);

}

private static void split2(String string, String reg) {
// TODO Auto-generated method stub
Pattern pattern=Pattern.compile(reg);
String s[]=pattern.split(string);
for (String string2 : s) {
System.out.print(string2+" ");
}
System.out.println();

}

private static void match2(String string) {
// TODO Auto-generated method stub
String pat="[1-9]\\d{4,14}@[a-z]{2}.[a-z]{3}";
Pattern pattern=Pattern.compile(pat);
Matcher matcher=pattern.matcher(string);
System.out.println(matcher.matches());

}

private static void replace1(String string) {//替换
// TODO Auto-generated method stub
String pat="\\d+";
Pattern pattern=Pattern.compile(pat);//实例化Pattern类
Matcher matcher=pattern.matcher(string);//实例化Matcher类
String newString=matcher.replaceAll("-");//替换数字
System.out.println("\r\n"+newString);


}

private static void split1(String string) {// 拆分字符串
// TODO Auto-generated method stub
String pat = "\\d+";// 定义验证规则
Pattern pattern = Pattern.compile(pat);// 实例化Pattern类
String s[] = pattern.split(string);// 对string进行拆分
for (int i = 0; i < s.length; i++) {
System.out.print(s[i] + " ");
}
}

private static void match1(String str1) {// 验证日期是否合法(此案例为匹配)
// TODO Auto-generated method stub
String pat = "\\d{4}-\\d{2}-\\d{2}";// 定义验证规则 程序中\\转义为\
Pattern pattern = Pattern.compile(pat);// 实例化Pattern类
Matcher matcher = pattern.matcher(str1);// 验证字符串内容是否合法
if (matcher.matches()) {
System.out.println("日期格式合法");
} else {
System.out.println("日期格式不合法");
}

}

}

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值