
正则表达式(regular expression)
Kaiwii
单调,简单
展开
-
regex强大工具:org.apache.oro.text.regex下的Util源码解读之substitute()方法1
//针对单个pattern和单个替换文本的替换方法 public static int substitute(StringBuffer result, PatternMatcher matcher, Pattern pattern,原创 2011-09-01 15:51:21 · 1838 阅读 · 0 评论 -
regex强大工具:org.apache.oro.text.regex中的PatternMatcherInput使用
初见这个工具包的时候,就有一种疑惑,用String作为输入好好的,为什么要另外搞一个PatternMatcherInput呢?现在,我大概说一下自己的看法吧。PatternMatcherInput与普通String的最大区别是:PatternMatcherInput是有状态的原创 2011-09-02 11:38:29 · 7828 阅读 · 0 评论 -
regex强大工具:org.apache.oro.text.regex中的PatternMatcher使用之contains()与matchs()的区别
区别:一、contains()识别的内容可以输入内容的部分;但是matchs()必须要整个输入内容都符合pattern才算通过。举个例子:输入内容为:3231 432432 432424regex pattern:\\b\\d+\\b使用matchs():压根原创 2011-09-02 12:03:22 · 3316 阅读 · 0 评论 -
regex强大工具:org.apache.oro.text.regex中的MatchResult
MatchResult可以这样理解就是匹配了regex pattern的String和一些状态项的结合体。但是有两点需要注意的:1、经常使用到的:result = matcher.getMatch(); 返回的MatchResult是这次使用contains时所原创 2011-09-02 15:50:49 · 2414 阅读 · 0 评论 -
替换(substitution)之捕获分组
这是我写的第一篇关于正则表达式的文章。至于正则表达式,在本科时代学习《编译原理》的时候,略微看过了一下,并没有深究。最近学习nutch的框架,当看到conf/regex-normalize.xml,完全傻眼了。为了进一步学习,不得不重新开始regex(正则表达式)。 一切原创 2011-08-29 16:54:47 · 1831 阅读 · 0 评论 -
正则表达式加注释用法
regex_1:\d{4}-\d{2}test文本:2011-08结果:全部可以命中!加注释后:regex_2:(?x)\d{4}#year:comment-\d{2}#month:comment都可以命中!分析:使用了修饰符:原创 2011-08-31 11:13:38 · 1767 阅读 · 0 评论 -
贪心与懒惰量词重复操作问题
默认情况下,所有量词都是贪心(greddy)的:就是说会尽可能多地匹配。而懒惰就刚刚相反。但是,可以通过在量词后面添加一个“?”,那么新组合成的量词将使懒惰的。比如说,量词“*”是贪心的,但是量词组合“*?”却是懒惰的。效用上他们的区别在于:惰性的量词"*",每次只会前进原创 2011-08-31 07:43:15 · 1464 阅读 · 0 评论