RegExp对象和常用正则表达式规则

1.创建正则表达式的方式

// two ways
var pattern = new RegExp(rule);
var pattern = /rule/

2.创建时额外参数

/* i : 忽略大小写
 * g : 全局匹配,否则只会针对第一个匹配项
 * m : 多行匹配
 */
var pattern = new RegExp(rule,'i');
var pattern = /rule/i; 

i,g,m可在一个表达式中同时使用,如“ig”作为参数。

3.RegExp的两个匹配方法

/* name: test()
 * parameters: 待匹配字符串
 * return: true or false
 */
if(pattern.test('asdfghjkl'))
     document.writeln("匹配成功");

/* name: exec()
 * parameters: 待匹配字符串
 * return: 匹配的结果,无匹配则返回null
 */
var result = pattern.exec('asdfgghjkl');
document.writeln(result );

4.RegExp一个有用的属性lastIndex

这个属性只有在全局模式时才派得上用场,是可读可写的,意味着匹配从lastindex之后开始。

5.String对象支持的regex方法

var pattern = /d{2}/g;

alert(str1.match(pattern)); //;类似exec,要么返回匹配结果要么返回null

alert(str2.replace(pattern,"!!")); //把匹配项替换成!!

alert(str3.search(pattern));  //总是返回首次匹配位置,无匹配返回-1 

alert(str4.split(pattern));  //按照匹配项分割字符串,分割结果放到数组里

元字符

w: 单词字符 等价于[A-Za-z0-9_]

W: 非单词字符 等价于[^A-Za-z0-9_]

d: 数字 等价于[0-9]

D:非数字 等价于[^0-9]

s: 空白字符

S: 非空白字符

: 单词边界

B: 非单词边界

: 换行符

:回车符

: 制表符

次数量词

*:>=0次

+:>=1次

?:0或1次

. :1次

其他

^:一行开头

$:一行结尾

[]:划分部分,后加次数

{}:里面一个数是具体出现次数,两个数是出现次数范围

():记住匹配结果,以数组形式

原文地址:https://www.cnblogs.com/feitan/p/5084932.html