• 九、正则表达式

    九、正则表达式

    原文:Regular Expressions

    译者:飞龙

    协议:CC BY-NC-SA 4.0

    自豪地采用谷歌翻译

    部分参考了《JavaScript 编程精解(第 2 版)》

    一些人遇到问题时会认为,“我知道了,我会用正则表达式。”现在它们有两个问题了。

    Jamie Zawinski

    Yuan-Ma said, ‘When you cut against the grain of the wood, much strength is needed. When you program against the grain of the problem, much code is needed.’

    Master Yuan-Ma,《The Book of Programming》

    九、正则表达式 - 图1

    程序设计工具技术的发展与传播方式是在混乱中不断进化。在此过程中获胜的往往不是优雅或杰出的一方,而是那些瞄准主流市场,并能够填补市场需求的,或者碰巧与另一种成功的技术集成在一起的工具技术。

    本章将会讨论正则表达式(regular expression)这种工具。正则表达式是一种描述字符串数据模式的方法。它们形成了一种小而独立的语言,也是 JavaScript 和许多其他语言和系统的一部分。

    正则表达式虽然不易理解,但是功能非常强大。正则表达式的语法有点诡异,JavaScript 提供的程序设计接口也不太易用。但正则表达式的确是检查、处理字符串的强力工具。如果读者能够正确理解正则表达式,将会成为更高效的程序员。

    • 创建正则表达式
    • 匹配测试
    • 字符集
    • 部分模式重复
    • 子表达式分组
    • 匹配和分组
    • 日期类
    • 单词和字符串边界
    • 选项模式
    • 匹配原理
    • 回溯
    • replace方法
    • 贪婪模式
    • 动态创建RegExp对象
    • search方法
    • lastIndex属性
    • 循环匹配
    • 解析INI文件
    • 国际化字符
    • 本章小结
    • 习题