java正则表达式的几个小例子

正则表达式,程序中从复杂文本中提取信息的必备手段。

做了几个Java中正则表达式的小例子,以备参考

一. 最简单正则表达式

import java.util.regex.Matcher;

import java.util.regex.Pattern;



  /*最简单模式匹配*/

    public void testReg2()

    {

    	final  String EXAMPLE_TEST = "Wu Dong Qian Kun ";    	

    	Pattern pattern = Pattern.compile("\\w+");

		Matcher matcher = pattern.matcher(EXAMPLE_TEST);		

		while (matcher.find()) {

			System.out.print("Start index: " + matcher.start());

			System.out.print(" End index: " + matcher.end() + " ");

			System.out.println(matcher.group());

		}

    }

 执行结果

Start index: 0 End index: 2 Wu

Start index: 3 End index: 7 Dong

Start index: 8 End index: 12 Qian

Start index: 13 End index: 16 Kun

二:解析特定模式(可以用于解析properties及xml文件)

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public void testReg3()

    {

    	final  String EXAMPLE_TEST = "a=67  b=90 aac=89x";    	

    	Pattern pattern = Pattern.compile("(\\w+)=(\\w+)");

		Matcher matcher = pattern.matcher(EXAMPLE_TEST);		

		while (matcher.find()) {

			System.out.print("Start index: " + matcher.start());

			System.out.print(" End index: " + matcher.end() + " ");

			System.out.println(matcher.group());

			System.out.println(matcher.group(0));

			System.out.println(matcher.group(1));

			System.out.println(matcher.group(2));			

		}

    }

   执行结果

Start index: 6 End index: 10 b=90

b=90

b

90

Start index: 11 End index: 18 aac=89x

aac=89x

aac

89x

三. 匹配中文,中文匹配的问题比较令人头疼,这里仅给出utf8字串的处理方法。

  Unicode 汉字内码的汉字区为4E00-9FA5, 共有20902个汉字,程序中可以对\u4E00-\u9FA5模式进行匹配,取得相应中文信息

import java.util.regex.Matcher;

import java.util.regex.Pattern;





  /*验证中文正则的匹配*/

    public void testRegChinese()

    {

    	String input = "中文语言chinese最近几天wudong武动乾坤de更新状况"; 

    	String temp = null; 

    	Pattern p = Pattern.compile("[\u4E00-\u9FA5]+"); 

    	Matcher m = p.matcher(input); 

    	while (m.find()) 

    	{ 

    		temp = m.group(0);     	

    		System.out.println(temp  ); 

    	} 

    }

  执行结果

中文语言

最近几天

武动乾坤

更新状况

  

 

你可能感兴趣的:(java正则表达式)