Java正则表达式pattern和matches

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15061629/article/details/51601804
package com.lks.regex;

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

/**
 * 
 * @author lks
 * @time 2016年6月6日下午11:02:05
 */
public class PatternDemo1 {
	/**
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String regex = "0792-\\d{7}";
		String content = "aaa0792-2133213fadsad0792-23433213";
		new PatternDemo1().test1(regex, content);

	}

	public void pattern1(String regex) {
		Pattern pattern = Pattern.compile(regex);
		// 返回在其中编译过此模式的正则表达式
		String p = pattern.pattern();
		System.out.println(p + " " + pattern.flags());
	}

	public void splict(String regex, String content) {
		// 以abc作为分隔符,abc不显示
		String[] sps = content.split(regex);
		for (String spc : sps) {
			System.out.println(spc);
		}
	}

	public void splict1(String regex, String content) {
		// 不区分大小写
		Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
		// 查看内容中的是否匹配
		String[] str = p.split(content);
		System.out.println(p.flags());
		for (String string : str) {
			System.out.println(string);
		}
	}

	public void matcher1(String regex, String content) {
		// 不区分大小写
		Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
		// 获取一个Matcher的对象
		Matcher m = p.matcher(content);
		// 查找符合的字符串,如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
		while (m.find()) {
			// 发现匹配的字符数组,输出ac,Ac,AC,aC
			System.out.println(m.group());
			// 输出字符串下标(开始)
			System.out.println(m.start());
			// 输出字符串下标(结束)
			System.out.println(m.end());
		}
		// 忽略大小写
		System.out.println("Java".matches("(?i)(java)"));
	}

	// 电话号码匹配
	public void test1(String regex, String content) {
		Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

		Matcher m = p.matcher(content);
		// 当发现匹配的
		while (m.find()) {
			System.out.println(m.group());
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_15061629/article/details/51601804