前一段时间看了一下html解析,发现这个网站(http://htmlparser.sourceforge.net/)还不错,
推荐给大家。有需求的同学,可以自个儿深研一番,当然如果有更好的也别忘了推荐给我。:-)
另外我还看了一下java中的正则表达式,发现正则强大是很强大就是掌握起来太麻烦了。
比如在java中“\” 本身就是一个转义符, 所以要表示一个'\',则必须在其前面再加一个'\',
eg.
String s0 = "good\\nafternoon";
System.out.println(s0);
s0 = s0.replaceAll("\\\\n","\n");
System.out.println(s0);
同时因为'\'是转义字符,是特殊字符,所以在替换的时候你不能直接使用它,
eg.
String s = "\\\\";
s = s.repacleAll("\\\\\\\\","\\\\")
//s = s.replaceAll("\\\\\\\\","\\"); -- is wrong
System.out.println(s);
为了将两个'\'换成一个'\',写了如此多的'\',是不是太麻烦了点。 :-(
另外,在Jdk文档中对于Greedy quantifiers ,Reluctant quantifiers ,Possessive quantifiers 的解释
基本一样,从字面上是很难看出区别的,下面通过一个例子来说明三者之间的异同。
--------------------------------(以下内容来自网上资料,并通过本机实践证明)-----------------------------
Greedy quantifiers
字串 "xfooxxxxxxfoo"
pattern ".*foo"
結果 xfooxxxxxxfoo
Greedy字面翻譯是貪婪,也就是盡可能的取字串,其實最貪婪的是第三種方法,因為Greedy還會把之後相符的資料留下來,Possessive吃的連骨頭都不剩。
Reluctant quantifiers
字串 "xfooxxxxxxfoo"
pattern ".*?foo"
結果 xfoo 和 xxxxxxfoo
Reluctant字面翻譯是勉強,也就是抓最小可能,像這個例子,第一次抓一個x之後發現後面和foo相符,就得第一個結果,然後一直到最後又得到第二個結果。
Possessive quantifiers
字串 "xfooxxxxxxfoo"
pattern ".*+foo"
結果 沒有相符合資料,因為所有的資料都與"."比較相符,最後沒有剩下的字串可以和foo做比較,所以沒有符合資料。
------------------------------------------------------------------------------------------------------
附上我写的验证代码:
//String pattern1 = ".*foo";
String pattern1 = ".*?foo";
//String pattern1 = ".*+foo";
Pattern patt1 = Pattern.compile(pattern1);
String input1 = "xfooxxxxxxfoo";
Matcher matcher1 = patt1.matcher(input1);
while (matcher1.find())
{
System.out.printf("Found '%s' at (%d,%d)%n",
matcher1.group(), matcher1.start(),
matcher1.end());
}
分享到:
相关推荐
正则表达式学习视频,包括正则表达式的简单语法,高级语法,和在JS。java语言中的应用
正则表达式速查 正则表达式举例 正则表达式学习 (4页A4纸)
正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式...
正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则表达式学习入门到精通正则...
本文主要介绍了正则表达式方面学习的心得,包括Python,C#,PHP,Notepad++,Javascript等方面的使用心得,以及总结了各个语言间正则表达式的区别。
正则表达式 txt文档 详细的总结正则表达式!
正则表达式学习小结 基础学习 正则表达式学习小结 基础学习
《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻。...《学习正则表达式》适合对正则表达式感兴趣的程序员和互联网从业者。
java正则表达式,初步认识正则表达式的应用。文档教程
超级有用的正则表达式学习笔记,适合初学者!
学习正则表达式时,用C#做的一个验证工具,对学习C#正则表达式有一定的帮助。
正则表达式的学习文档,还有一些其他资料pdf,适合初学但有一点点基础
学习正则表达式或工作中需要用到正则表达,可以用这个小工具来编辑、测试你的正则表达式。
三、 正则表达式到底是什么东西? 3 四、 入门 4 五、 测试正则表达式 6 六、 元字符 7 七、 字符转义 9 八、 重复 9 九、 字符类 9 十、 分枝条件 10 十一、 分组 11 十二、 反义 12 十三、 后向引用 12 十四、 零...
1、揭开正则表达式的神秘面纱 2、半小时精通正则表达式 3、表单验证Validator v1.0.chm ...9、正则表达式高级学习技巧 10、正则表达式使用 11、正则表达式之道 12、正则表达式总结 13、30分钟入门教程 14、日期校验.doc
本资料是WORD格式文档,自己学习正则表达式搜集的资料,未经整理,望见谅.
包含所有正则表达式的内容,还有个人的总结与心得!!!
正则表达式学习资料 正则表达式学习资料 正则表达式学习资料 正则表达式学习资料
学习正则表达式