正则表达式就是一个用来描述字符模式的对象。它被用来在文本中执行模式匹配(pattern-matching)以及”查找-替换”(search-and-replace)的任务。javascript中正则的风格类似Perl中正则的风格。
创建
var reg = new RegExp(pattern,modifiers);
或var reg = /pattern/modifiers;
modifiers包括
- g : 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
如'Hey, Is this all there Is '.replace(/Is/g, 'is');//替换某字符串中所有的Is为is
- i : 执行对大小写不敏感的匹配
- m : 执行多行匹配,具体见这里
ps 新建一正则时可多个模式,如/hEllO/ig
正则相关方法
- .test()。该方法对一个字符串进行匹配。并根据匹配结果返回true或false。例如
/e/.test('The best things in life are free'); //true
- .exec()。该方法将对一个字符串进行匹配。并返回第一个匹配项目。例如:
/e/.exec('The best things in life are free'); // ["e"]
在字符串方法中,有match
方法,与exec
类似。如
'The best things in life are free'.match(/e/); //["e"]
正则中的元字符
正则表达式中的元字符是用来替代一类具有相同属性的字符的特殊字符,它也可以被称为字符类(character class)。
- . 查找单个字符,除了换行和行结束符。
- w 查找单词字符(字母、数字以及下划线”_”)。
- W 查找非单词字符。
- d 查找数字。
- D 查找非数字字符。
- s 查找空白字符。
- S 查找非空白字符。
- 匹配单词边界。
- B 匹配非单词边界。