元字符 说明
\s 匹配单个空格,包括tab键和换行符
\S 匹配出单个空格符之外的所有字符,\S与\s互为逆运算
\d 匹配从0~9的数字
\w 匹配字母,数字或者下划线字符
\W 匹配所有与\w不匹配的字符,\W与\w互为逆运算
\f 匹配一个换页符,等价与\x0c和\cL
\n 匹配一个换行符,等价于\x0a和\cJ
\r 匹配一个回车符,等价于\x0d和\cM
\t 匹配一个制表符,等价于\x09和\cI
\v 匹配一个垂直制表符。等价于\x0b和\cK
. 用于匹配除换行符之外的所有字符
限定符 说明
* 匹配前导字符出现零次或者多次
+ 匹配前导字符出现一次或者多次
? 匹配前导字符出现零次或者一次
{n} 匹配前导字符出现n次,n>=0;
{n,} 匹配前导字符至少出现n次,n>=0;
{n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;
定位符 说明
^ 匹配模式必须出现在目标字符串开头
$ 匹配模式必须出现在目标的结尾
\b 匹配模式必须出现在目标字符串的开头或者结尾的两个边界之一
\B 匹配对象必须位于目标字符串的开头和结尾的两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾
var array = reObj.exec(str);
----------
var str = 'The rain in Spain falls mainly in the plain.';
var rx = new RegExp("ain","g");
var result;
while ((result = rx.exec(str)) != null)
console.log(result + ": " + rx.lastIndex);
var passed=reObj.test(str);
如果匹配则返回true,否则返回false
stringObject.search(regexp)
-----------
stringObject 中第一个与 regexp 相匹配的子串的起始位置。
注释:如果没有找到任何匹配的子串,则返回 -1。
document.write("Visit Ibm!".search(/Ibm/)) ===> 6
stringObject.replace( regexpOrFirstStr, regexpOrSecondStr [,flags] )
-----------
var str = "Apples are round, and apples are juicy.";
var newstr = str.replace("apples", "oranges", "gi");
var newstr = str.replace(/Juicy/i, "good");
stringObject.match(regexp)
-----------
var str = "The rain in Spain falls mainly in the plain";
var arr = str.match(/ain/ig);
在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。
如果需要这些全局检索的信息,可以使用 RegExp.exec()。
\s 匹配单个空格,包括tab键和换行符
\S 匹配出单个空格符之外的所有字符,\S与\s互为逆运算
\d 匹配从0~9的数字
\w 匹配字母,数字或者下划线字符
\W 匹配所有与\w不匹配的字符,\W与\w互为逆运算
\f 匹配一个换页符,等价与\x0c和\cL
\n 匹配一个换行符,等价于\x0a和\cJ
\r 匹配一个回车符,等价于\x0d和\cM
\t 匹配一个制表符,等价于\x09和\cI
\v 匹配一个垂直制表符。等价于\x0b和\cK
. 用于匹配除换行符之外的所有字符
限定符 说明
* 匹配前导字符出现零次或者多次
+ 匹配前导字符出现一次或者多次
? 匹配前导字符出现零次或者一次
{n} 匹配前导字符出现n次,n>=0;
{n,} 匹配前导字符至少出现n次,n>=0;
{n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;
定位符 说明
^ 匹配模式必须出现在目标字符串开头
$ 匹配模式必须出现在目标的结尾
\b 匹配模式必须出现在目标字符串的开头或者结尾的两个边界之一
\B 匹配对象必须位于目标字符串的开头和结尾的两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾
var array = reObj.exec(str);
----------
var str = 'The rain in Spain falls mainly in the plain.';
var rx = new RegExp("ain","g");
var result;
while ((result = rx.exec(str)) != null)
console.log(result + ": " + rx.lastIndex);
var passed=reObj.test(str);
如果匹配则返回true,否则返回false
stringObject.search(regexp)
-----------
stringObject 中第一个与 regexp 相匹配的子串的起始位置。
注释:如果没有找到任何匹配的子串,则返回 -1。
document.write("Visit Ibm!".search(/Ibm/)) ===> 6
stringObject.replace( regexpOrFirstStr, regexpOrSecondStr [,flags] )
-----------
var str = "Apples are round, and apples are juicy.";
var newstr = str.replace("apples", "oranges", "gi");
var newstr = str.replace(/Juicy/i, "good");
stringObject.match(regexp)
-----------
var str = "The rain in Spain falls mainly in the plain";
var arr = str.match(/ain/ig);
在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。
如果需要这些全局检索的信息,可以使用 RegExp.exec()。