WEB开发网
开发学院网页设计JavaScript JavaScript中使用正则表达式的一点笔记 阅读

JavaScript中使用正则表达式的一点笔记

 2010-09-14 13:45:51 来源:WEB开发网   
核心提示: 回头想想,我最初接触正则表达式的时候是在Java上用的,JavaScript中使用正则表达式的一点笔记(2),虽然编译原理课上也有讲到DFA/NFA与正则表达式,但那个时候没用在C/C++里用过正则表达式而只是实现过些简单的DFA,漫长啊,JavaScript 1.8的技巧似乎在这里有些记

回头想想,我最初接触正则表达式的时候是在Java上用的。虽然编译原理课上也有讲到DFA/NFA与正则表达式,但那个时候没用在C/C++里用过正则表达式而只是实现过些简单的DFA。

Java里要用正则表达式颇不顺手。最痛苦的莫过于转义字符的问题。那时我对正则表达式里常用的一些预定义字符组之类的很不熟悉,只好阅读Java标准库的JavaDoc来学习。看看java.util.regex.Pattern类的JavaDoc,可以看到很多与转义字符相关的预定义字符组之类的东西,但我当时花了很长时间才理解到Java本身字符串中的转义字符与正则表达式中的转义字符不是一回事——它们是叠加的。为了表达正则表达式里的b,用Java应该写成"\b"的字符串;为了匹配一个斜杠和句点“.”而要写出正则表达式\.,在Java中却得写成"\\\."。结果我经常在大量的“”中迷茫,到底写了多少个“”都数不清了……

接触到有verbatim string的C#和有Wysiwyg string的D之后这转义的问题减轻了不少,不过要是能直接写正则表达式的字面量而不是用字符串来表示正则表达式就更舒服了。在阅读一些JavaScript的相关文章时留意到有不少人提到“perl风格的正则表达式记法”,查了下,发现这种以operation/regex/modifier为形式的记法确实好用。不过当时也是随便写了几个JavaScript的小测试玩了玩就没管了,也没去看看这记法的来源——perl里它到底长什么样。这次就多记点JavaScript里的perl-style regex吧。

笔记

在WebRef上有一套关于JavaScript的教程,不过比较老了,是1997年12月4日最后编辑的。虽然文章比较老了,其中关于正则表达式的部分还是可以参考的;毕竟ECMAScript在v3之后就一直没正式发布更新的版本嘛。JavaScript 1.8要跟随FireFox 3.0才会出现,而JavaScript 2.0得等ECMAScript最终确定。漫长啊。JavaScript 1.8的技巧似乎在这里有些记载,有空的时候要去看看。

上一页  1 2 3 4 5 6 7  下一页

Tags:JavaScript 使用 正则

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接