正则表达式没有AND逻辑

这几天在家,也没什么事,只好继续干枯的学术,见谅哈...

今天弄那个实验室的检索系统,用mysql的正则表达式做搜索功能,发现正则表达式竟然似乎不能表达AND逻辑。具体说来,就是如果我想匹配一个字符串,包含“北京”、“天津”、“上海”,顺序不限,就很难用简洁的正则表达。除非多次匹配,或者弄个三个地名的全排列来...

查了很多的资料,发现只有OR逻辑——(北京|天津|上海)。似乎正则表达式对顺序的要求很严格,仔细想想具体匹配算法,要一次找出这种排列的匹配,最简单的算法恐怕就是多次匹配吧。

记得第一次听说正则表达式这东西,觉得真是!@#$%^&啊!让我佩服得五体投地,无论是强大的功能还是乱码一样的表示_-_...

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b,第一次看到这样的表达,谁都会发狂吧。至今我也没完全弄明白里面的符号含义,不过好在会一些实用的就够了。

可想而知这个匹配的算法……想想我就已经顶礼膜拜了。

网上的资源
正则表达式30分钟入门教程(简洁实用)
微软的正则表达式教程

随机文章:

3 Comments

  1. narkau 2006-07-24,8:35 上午

    赞。。我喜欢这个东西。。看起来很爽哈。名字都很酷

  2. 无叶 2006-07-24,10:36 上午

    to narkau: 我参观了你的SPACE,兴趣广泛啊...

  3. mediocre 2006-07-25,12:47 下午

    大侠,你饶了我吧

Add a Comment