码迷,mamicode.com
首页 > 编程语言 > 详细

java正则表达式使用

时间:2017-03-31 23:51:54      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:ati   sys   ring   完全   开发   表达   项目   pre   十分   

用正则表达式进行字符串校验,截取十分方便,项目开发中灵活的使用正则表达式能让你的代码简洁优雅并且不易出错。在实际的应用中,掌握以下几点知识就可以应付绝大多数的开发场景了。

1、 字符串开始结束匹配:^$。

^abc$完全匹配字符串abc。

2、 特定类型字符匹配:数字\d,数字字母下划线\w,空格\s,任意字符.。

3、 重复匹配:重复0次或1次?,重复1次及以上+,重复0次及以上*,重复m到n次{m,n},重复m次以上{m,}。

\d+标识有一个或多个数字组成的字符串,比如0,10,110。

4、 单个字符或[],|。

[ab]表示a或b,a|b表示a或b。

5、 字符串或(|)。

(ab|bc)表示ab或者bc。

6、 非[^]。

[^a]表示不是a的一个字符;[^ab]表示不是a且不是b的一个字符;[^ab]+表示一个或多个字符,且每个字符都不是a或b。

 

Java中,String.matches(regex)进行字符串正则表达式校验;String.replaceAll()进行正则表达式替换;Pattern,Matcher则可以进行正则表达式匹配,查找,替换等一系列操作。下面是代码实例:

package com.coshaho.learn.reg;

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

public class RegexTest 
{
	public static void main(String[] args)
	{
		// 重复
		String regex = "^\\s*\\d+{1,3}\\w+ .?$";
		String str = "  110hkx_ @";
		System.out.println(str.matches(regex));
		
		// 字符或
		regex = "^[abc]$"; // 等价于^a|b|c$
		str = "b";
		System.out.println(str.matches(regex));
		
		// 字符串或
		regex = "^(ab|cd)$";
		str = "ab";
		System.out.println(str.matches(regex));
		
		// 非
		regex = "^[^abc]$";
		str = "d";
		System.out.println(str.matches(regex));
		
		regex = "\\[([^\\[\\]]+)\\]\\.\\[([^\\[\\]]+)\\]";
		str = "[device].[cpu] + [interface].[tranffic] >= 2";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(str);
		
		while(matcher.find())
		{
			System.out.println(matcher.group());
			if(2 == matcher.groupCount())
			{
				System.out.println(matcher.group(1));
				System.out.println(matcher.group(2));
			}
		}
		
		regex = "\\d+";
		str = "abc123def456hijk789xyz";
		System.out.println(str.replaceAll(regex, " "));
	}
}


/**
输出值
true
true
true
true
[device].[cpu]
device
cpu
[interface].[tranffic]
interface
tranffic
abc def hijk xyz
**/

  

java正则表达式使用

标签:ati   sys   ring   完全   开发   表达   项目   pre   十分   

原文地址:http://www.cnblogs.com/coshaho/p/6653741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!