正则表达式的写法有两种方式:
1.var reg = new RegExp("[a-zA-z]+://[^\s]*");
2. var reg = /[a-zA-z]+://[^\s]*/ 这里可以简单的记为向注释符号//中添加模式,而不是\\
正则表达式的方法:
1.search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
var str = "Visit Runoob!"; var n = str.search(/Runoob/i); //6
另外:search 方法可使用字符串作为参数。字符串参数会转换为正则表达式
var str = "Visit Runoob!"; var n = str.search("Runoob");
2.replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var str = "Vistit microsoft!"; var txt = str.replace(/microsoft/i,"Runoob"); // Visit Runoob!
同样replacte()方法仍然可以使用字符串作为参数
3.match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。(这里就要看是不是全局匹配,如果是全局查找,那么如果有多个就会查找到多个;如果不是全局查找的话,最多只有一个)
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/g);console.log(n);
结果:["ain", "ain", "ain"]
从结果可以看出,当是全局查找时,结果是一个数组,如果不是全局查找时仍然还是一个数组,得出的结果是和exec()方法得出的结果一致的
4.test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。需要注意一点的是test()方法的使用方法是reg.test(str) 参数是字符串,和前面三个方法是相反的,
var patt = /e/;
patt.test("The best things in life are free!");//true
5.exec() 方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。使用方法和test方法一样
/e/.exec("The best things in life are free!"); //["e", index: 2, input: "The best things in life are free!"] 从结果可以看出只会返回符合结果是一个数组
原文:http://www.cnblogs.com/fireporsche/p/6509213.html