JavaScript 对 正则表达式有内置支持 (19 章 http://speakingjs.com/es5/ch19.html 是指教程, 更详细地解释了它们的工作方式). 它们由斜线分隔:
- /^abc$/
- /[A-Za-z0-9]+/
方法测试 (): 有火柴吗?
- > /^a+b+$/.test('aaab')
- true
- > /^a+b+$/.test('aaa')
- false
方法 exec (): 匹配和捕获组
- > /a(b+)a/.exec('_abbba_aba_')
- [ 'abbba', 'bbb' ]
返回的数组包含索引 0 中的完全匹配, 索引 1 中第一个组的捕获等. 有一种方法 (在 RegExp.prototype.exec 中讨论 : 捕获组 http://speakingjs.com/es5/ch19.html#RegExp.prototype.exec ), 以便重复调用此方法以获取所有匹配项.
方法替换 (): 搜索和替换
- > '<a> <bbb>'.replace(/<(.*?)>/g, '[$1]')
- '[a] [bbb]'
替换的第一个参数必须是带有 / g 标志的正则表达式; 否则, 只替换第一个匹配项. 还有一种方法 (如 String.prototype.replace 中所述 : 搜索和替换 http://speakingjs.com/es5/ch19.html#String.prototype.replace ) 使用函数计算替换.
来源: http://www.bubuko.com/infodetail-2646308.html