java常用类库-正则表达式【2】

系统 1300 0

5 Pattern 类和 Matcher 类:

1)Pattern 类主要是表示一个规则的意思:正则表达式的规则要在 Pattern 类中使用。

2)Matcher 类主要表示使用 Pattern 类指定好的验证规则。

public static Pattern compile ( String regex)

将给定的正则表达式编译到模式中。

public static Pattern compile ( String regex intflags)

将给定的正则表达式编译到具有给定标志的模式中。

public Matcher matcher ( CharSequence input)

创建匹配给定输入与此模式的匹配器。

public String [] split ( CharSequence input)

围绕此模式的匹配拆分给定输入序列。

此方法的工作方式类似于使用给定的输入序列和限制参数零调用两参数 (java.lang.CharSequence, int) split} 方法。因此,得到的数组中不包括尾部空字符串。

例1:验证日期 1983-04-22

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


public class RegexDemo03 {

	/**
	 * @param args
	 */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "1983-04-22";//定义日期字符串
		String pat = "\\d{4}-\\d{2}-\\d{2}";//定义正则表达式
		Pattern p = Pattern.compile(pat);//实例化Pattern类
		Matcher m = p.matcher(str);//实例化Matcher类
		if(m.matches()){
			System.out.println("日期格式正确!");
		}else{
			System.out.println("日期格式不正确!");
		}
		
	}

}

  


运行截图:

java常用类库-正则表达式【2】

例二:将字符串进行拆分:

public String [] split( CharSequence input)

围绕此模式的匹配拆分给定输入序列。

此方法的工作方式类似于使用给定的输入序列和限制参数零调用两参数 (java.lang.CharSequence, int) split} 方法。因此,得到的数组中不包括尾部空字符串。

    import java.util.regex.Pattern;


public class RegexDemo04 {

	/**
	 * @param args
	 */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//将字符串按数字进行拆分
		String str = "A1B22C35255D4444E8460F630636";//定义字符串
		String pat = "\\d+";//定义正则
		Pattern p = Pattern.compile(pat);//实例化Pattern类
		String s[] = p.split(str);//按数字拆分字符串
		for(int i=0;i<s.length;i++){
			System.out.print(s[i]+"\t");
		}
	}

}

  

运行截图:

java常用类库-正则表达式【2】

例子3:字符串替换

public String replaceAll( String replacement)

替换模式与给定替换字符串相匹配的输入序列的每个子序列。

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


public class RegexDemo04 {

	/**
	 * @param args
	 */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//将字符串中的数字进行替换为下划线
		String str = "A1B22C35255D4444E8460F630636";//定义字符串
		String pat = "\\d+";//定义正则
		Pattern p = Pattern.compile(pat);//实例化Pattern类
		Matcher m = p.matcher(str);
		String newStr = m.replaceAll("_");
		System.out.println(newStr);
	}

}

  


运行截图:

java常用类库-正则表达式【2】


java常用类库-正则表达式【2】


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论