w1100n
This site is best viewed in Google Chrome
wiloon, 8/19/2012 13:17 | Tag:

import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Fenzhu { public static void main(String[] args) { Pattern p = Pattern.compile(“(/d{3,5})([a-z]{2})”); String s = “123aa-34345bb-234cc-00”; Matcher m = p.matcher(s); while(m.find()) { System.out.println(“m.group():”+m.group()); //打印所有 System.out.println(“m.group(1):”+m.group(1)); //打印数字的 System.out.println(“m.group(2):”+m.group(2)); //打印字母的 System.out.println(); } System.out.println(“捕获个数:groupCount()=”+m.groupCount()); } … Continue reading

wiloon, 8/19/2012 11:35 | Tag:

java正则表达式中的  ? 是惰性匹配,具体的看下面的例子: [java] Pattern pattern = Pattern.compile("<.*>"); Matcher matcher =pattern.matcher("<a href="index.html">主页</a>"); System.out.println(matcher.replaceAll("")); [/java] 将输出空,因为没有加问号,此时进行的是最长匹配(贪婪匹配) 可以做如果更改 [java] Pattern pattern = Pattern.compile("<.*>"); Matcher matcher =pattern.matcher("<a href="index.html">主页[color=red]</a[/color]"); System.out.println(matcher.replaceAll("")); [/java] 将输出:主页</a 如果把程序修改为: [java] Pattern pattern = Pattern.compile("<.*?>"); Matcher matcher =pattern.matcher("<a href="index.html">主页</a>"); System.out.println(matcher.replaceAll("")); [/java] 将输出:主页 不加 ? 表示贪婪,加 ? 表示勉强,区别如下: 勉强是从左边一个一个地吃直到匹配为止,不加 ?的是一口吃掉整个字符串,然后从最后一个一个地吐出来直到匹配为止 字符串 a=====b=====b=== a.*b 将匹配满足条件最长的字符串 a=====b=====b 工作方式: 首先将:a=====b=====b=== 全部吃掉,从右边一个一个地吐出来 1. a=====b=====b=== … Continue reading

wiloon, 8/19/2012 11:08 | Tag:

3位数字 d{3}   众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。 // 反斜杠 /t 间隔 (‘/u0009’) /n 换行 (‘/u000A’) /r 回车 (‘/u000D’) /d 数字 等价于[0-9] /D 非数字 等价于[^0-9] /s 空白符号 [/t/n/x0B/f/r] /S 非空白符号 [^/t/n/x0B/f/r] /w 单独字符 [a-zA-Z_0-9] /W 非单独字符 [^a-zA-Z_0-9] /f 换页符 /e … Continue reading

辽ICP备14012896