`

正则表达式例子

    博客分类:
  • J2SE
阅读更多
package com.wepull.regex;

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

public class Demo1 {

	/**
	 * 判断一个字符串是否由纯数字组成
	 */
	private void fun1() {
		String str = "0123456789";
		System.out.println(str.matches("\\d+"));

	}

	private void testString() {
		// System.out.println("b".matches("."));//true
		// System.out.println("aa".matches("aa")) ;
		// System.out.println("aaaa".matches("a*")) ; //true
		// System.out.println("aaaa".matches("a+")) ;//true
		// System.out.println("".matches("a*"));//true
		// System.out.println("aaaa".matches("a?"));//false
		// System.out.println("".matches("a?"));///true
		// System.out.println("a".matches("a?"));
		// System.out.println("3366572".matches("\\d{3,10}"));//true

		System.out.println("192.168.0.220"
				.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
		//			
		// System.out.println("192".matches("[0-2][0-9][0-9]"));

	}

	/**
	 * 范围
	 */
	private static void fun5() {

		// System.out.println( "e".matches("[abc]"));
		// System.out.println( "e".matches("[^abc]"));
		// System.out.println( "A".matches("[a-zA-Z]"));
		// System.out.println( "A".matches("[a-z]|[A-Z]"));

		// System.out.println( "A".matches("[a-z[A-Z]]"));

		// System.out.println( "B".matches("[A-Z&&[ABC]]"));

	}

	private void testEmail() {
		String email = "wlt_5186@qq.gov";
		String regex = "\\w+@\\w+\\.(com|cn|gov|net)";
		System.out.println(email.matches(regex));

	}

	private void testEmail2() {
		String email = "wlt_5186@qq.gov";
		String regex = "(\\w+)@(\\w+)\\.(com|cn|gov|net)";
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(email);
		if (m.matches()) {
			System.out.println("第0组" + m.group(0));
			System.out.println("第1组" + m.group(1));
			System.out.println(m.start(1) + " " + m.end(1));
			System.out.println("第2组" + m.group(2));
			System.out.println(m.start(2) + " " + m.end(2));
			System.out.println("第3组" + m.group(3));
		}

	}

	private void testFind() {
		String s = "下面是公司电话号码086-027-87591191-" + "你能使用正则表达式分别找出区号和电话吗?";
		String regex = "\\d{3,8}";
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(s);

		while (m.find()) {
			System.out.println(m.group());
		}

	}

	public static void main(String[] args) {
		// new Demo1().fun1();
		Demo1 d = new Demo1();
		// d.fun5();
		// d.testEmail();
		// d.testEmail2();
		d.testFind();

	}

}

 

package com.wepull.regex;

import java.util.regex.Pattern;

public class TestPattern {

	/**
	 * String str =“hello444java3377Lady GaGa”,
	 * 按照数字把字符串拆分 (hello,java,lady GaGa)
	 */
	private void testSplit() {
		String str ="hello444java3377Lady GaGa";
		Pattern p = Pattern.compile("\\d+");//通过compile方法 编译得到一个指定规范的正则表达式 模板对象 pattern
		String[] strs = p.split(str);//把字符串按照指定的模式拆分
		for (String s : strs) {
			System.out.println(s);
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TestPattern t = new TestPattern();
		t.testSplit();

	}

}

 

package com.wepull.regex;

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

public class TestMatcher {
	
	
	/**
	 * String str =“222hello444java3377Lady GaGa”,
          把字符字母都替换成 -”
	 */
	public void test(){
		String str =  "222hello444java3377Lady GaGa";
		String regex = "[a-zA-Z]+"; 
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(str);//通过Pattern对象创建一个匹配器
		String s = m.replaceAll("-");
		System.out.println(s);
		
	}

	public static void main(String[] args) {
		TestMatcher t = new TestMatcher();
		t.test();

	}

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics