Java 里的正则表达式

1.

表1.常用的元字符
代码 说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

表2.常用的限定符
代码/语法 说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

表3.常用的反义代码代码/语法说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符


这是一些正则表达式的基础。


下面来谈一下java里的正则表达式。



Pattern   Mather  


Pattern 用来判断 某个字符串,是否符合某个给定的正则表达式


Pattern的构造方法被私有了所以我们不能调用他的构造方法来,创建一个Pattern对象


 public static Pattern compile(String regex) {
        return new Pattern(regex, 0);
    }

String regex="^d";

Pattern  p =Pattern.compile(regex);

String  regex="t(o|oo|ooo)n";
System.out.println("ton".matches(regex));
System.out.println("toon".matches(regex));
System.out.println("tooon".matches(regex));
如何或得一个字符串里符合指定正则表达式的所有子字符串呢。
public static List<String> getRegEx(String orginal,String regex)
	{
		
		List<String> result=new ArrayList<String>();
		
		int start=0;
		int end=0;
		Pattern pp=Pattern.compile(regex);
		Matcher m = pp.matcher(orginal);
		while(	m.find())
	     {
	    	 
	    	
	    	start=m.start();
	    	end=m.end();
	    	result.add(orginal.substring(start, end));
	    	
	    	 
	     }
						
		return result;
	}












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值