语法
/正则表达式主体/修饰符(可选)
实例:
var patt = /runoob/i
实例解析:
/runoob/i 是一个正则表达式。
runoob 是一个正则表达式主体 (用于检索)。
i 是一个修饰符 (搜索不区分大小写)。
方法
http://www.runoob.com/jsref/jsref-obj-regexp.html
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。
语法:string.search(searchvalue)
使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:
var str = "Visit Runoob!"; var n = str.search(/Runoob/i);
var str = "Visit Runoob!"; var n = str.search("Runoob");
输出结果为:
6
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,返回一个新的字符串。
语法:string.replace(searchvalue,newvalue)
使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :
var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob");
var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","Runoob");
结果输出为:
Visit Runoob!
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
var patt = /e/;patt.test("The best things in life are free!");
/e/.test("The best things in life are free!");
字符串中含有 "e",所以该实例输出为:
true
exec() 方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
/e/.exec("The best things in life are free!");
字符串中含有 "e",所以该实例输出为:
e
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。返回存放匹配结果的数组,没找到匹配结果返回 null 。
语法:string.match(regexp)
全局查找字符串 "ain",且不区分大小写:
var str="The rain in SPAIN stays mainly in the plain"; var n=str.match(/ain/gi);
输出结果:
ain,AIN,ain,ain
split() 方法用于把一个字符串分割成字符串数组。split() 方法不改变原始字符串。
语法:string.split(separator,limit)
分割每个字符,包括空格:
var str="How are you doing today?";var n=str.split("");
输出数组值得结果:
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
使用 limit 参数:
var str="How are you doing today?";var n=str.split(" ",3);
将输出3个数组的值:
How,are,you
正则表达式修饰符
修饰符 可以在全局搜索中不区分大小写:
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |