- 九、正则表达式
九、正则表达式
原文: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》
程序设计工具技术的发展与传播方式是在混乱中不断进化。在此过程中获胜的往往不是优雅或杰出的一方,而是那些瞄准主流市场,并能够填补市场需求的,或者碰巧与另一种成功的技术集成在一起的工具技术。
本章将会讨论正则表达式(regular expression)这种工具。正则表达式是一种描述字符串数据模式的方法。它们形成了一种小而独立的语言,也是 JavaScript 和许多其他语言和系统的一部分。
正则表达式虽然不易理解,但是功能非常强大。正则表达式的语法有点诡异,JavaScript 提供的程序设计接口也不太易用。但正则表达式的确是检查、处理字符串的强力工具。如果读者能够正确理解正则表达式,将会成为更高效的程序员。
- 创建正则表达式
- 匹配测试
- 字符集
- 部分模式重复
- 子表达式分组
- 匹配和分组
- 日期类
- 单词和字符串边界
- 选项模式
- 匹配原理
- 回溯
- replace方法
- 贪婪模式
- 动态创建RegExp对象
- search方法
- lastIndex属性
- 循环匹配
- 解析INI文件
- 国际化字符
- 本章小结
- 习题