常见的字符串的跟正则有关的方法:
match()
search()
replace()
RegExp对象方法:
exec( ) 、test( )
ECMA Script 通过RegExp类型来支持正则表达式。正则的两种创建方式:
- 字面量形式:
var expression = / pattern / flags
- 使用RegExp构造函数:
var pattern2 = new RegExp('abc', 'ig')
使用正则表达式字面量和使用RegExp构造函数创建的正则表达式不一样。在ECMAScript 3 中,正则表达式字面量始终会共享同一个RegExp实例(下次调用会从上次匹配的末尾开始匹配),而使用构造函数创建的每一个新的RegExp实例都是一个新实例。
exec( )
: 专门为捕获数组而设计。exec( ) 接受应用模式的字符串,返回包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null;
返回的数组包含 index 和 input 两个属性,其中index 表示匹配项在字符串中的位置,input 表示应用正则表达式的字符串。
对于exec( )方法而言,即使在模式中设置了全局标志(g),它每次也只会返回一个匹配项,在不设置全局标志的情况下,在同一个字符串上多次调用exec始终返回第一个匹配项的信息,而在设置全局标志的情况下,每次调用exec则都会在字符串中继续查找新的匹配项。
test( )
: 接受一个字符串参数。在模式与该参数匹配的情况下返回true,否则返回false。
参考:
- JavaScript 高级程序设计(第3版)