JavaScript有对正则表达式的内置支持。它们之间用斜杠分隔:
/^abc$/
/[A-Za-z0-9]+/
方法test():是否存在匹配项?
> /^a+b+$/.test('aaab')
真正
> /^a+b+$/.test('aaa')
假
方法exec():匹配和捕获组
> /a(b+)a/.exec('_abbba_aba_')
['abbba','bbb']
返回的数组在索引0处包含完全匹配项,在索引1处包含第一个组的捕获,依此类推。有一种方法(在RegExp.prototype.exec:捕获组中讨论)可以重复调用此方法以获取所有匹配项。
方法replace():搜索和替换
>'<a> <bbb>'。replace(/<(.*?)>/ g,'[$ 1]')
'[a] [bbb]'
的第一个参数replace必须是带有/g标志的正则表达式;否则,仅替换第一个匹配项。还有一种方法(如String.prototype.replace中的讨论:Search和Replace)使用函数来计算替换值。
网友评论