June 18, 2007

(10) Comments

RegexBuddy轻松编写正则表达式

      从今天开始, 我将陆陆续续把我所使用的一些软件都写出来, 算是一个总结吧。 也给需要用的朋友一个参考。

      今天先介绍的一个是关于编写正则表达式的工具 — RegexBuddy。

      说起正则表达式, 很多人可能都听说过, 但却不一定用过。 正则表达式在我的脑海中一直认为是一个很高深的东西, 这个东西用的好让你事半功倍, 用的不好让你事倍功半。 关键就一点, 看你用的如何。我一直有学习正则表达式, 但因为实在用的地方太少, 所以总是学了忘, 忘了继续学。 用《家有儿女》这部片子中刘星的话来说就是:“学了忘, 忘了学, 学了还得忘”。 我也正是这样, 因为用的地方太少, 所以学了还得忘, 我学正则表达式最后是从使用firefox的adblock扩展开始的, 如果你也用过这个扩展, 你应该能够体会到正则表达式的强大能力, 等会儿我会举例说明。 好了, 还是言归正传。

阅读全文——共1392字

February 3, 2007

(2) Comments

用notepad2中的收集功能替代SED

      一直以来, 众多的编辑器只能做查找和替换工作, 假如你要从一篇文章中选择一些符合你要求的文字出来的话, 把其他不符合要求的文字全部都去掉的话, 那只有一招, 把你不需要的文字都替换成空, 这个在很多的编辑器中很难做到, 例如 editplus, 它自带的正则表达式几乎没有办法来做这个事情(注: 或许是我的水平太差, 请高手告诉方法)。 emeditor可以做到这个事情, 但这个正则表达式也的确是比较难写, 因为这个正则表达式很少用到, 也几乎很少在教程中看到, 这个正则表达式就是 “(^|(?<=url)).*?(?=url|$)”, 把中间的那个url替换成你要保留的那个字符就可以了。 但这个也不一定就是最完美的。 所以就有了sed的用武之地, sed可以将你需要的部分保留下来, 删除你不需要的部分, 也不用通过很多的替换步骤就可以了, sed一直被我用来干这种事情, 我用的最多的也就是sed -e “p。。。”的语句, 保留我自己需要的那部分。

阅读全文——共1284字

February 1, 2007

(0) Comments

正则表达式中Lookbehind的用法

以前只知道用Lookahead,今天第一次遇到Lookbehind的实例。
下面这段摘自 regular-expressions.info (很好的一个正则站点):

Lookbehind has the same effect, but works backwards. It tells the regex engine to temporarily step backwards in the string, to check if the text inside the lookbehind can be matched there. (? matches a “b” that is not preceded by an “a”, using negative lookbehind. It will not match cab, but will match the b (and only the b) in bed or debt. (?<=a)b (positive lookbehind) matches the b (and only the b) in cab, but does not match bed or debt.

阅读全文——共894字

December 13, 2006

(0) Comments

常用正则表达式收集与勘误

写在前面: 正则表达式用于字符串处理、表单验证等场合,实用高效。但用到时总是不太把握,以致往往要查证一番。现将一些常用的表达式收集于此,以备不时之需。本贴随时会更新

按: 上次和crackabc、hitme等人讨论过一次,发现网上google来的谬误多多。这次重新整理一下,力求精简正确。也希望大家能一起来琢磨琢磨,捉捉bugs.

注: 以下表达式均在RegexBuddy测试修正过,若有错,还望指出。另外注意,在不同的语言环境下,对正则的支持都可能不一样,实际应用时注意不同之处

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

阅读全文——共1566字