JavaScript -- 正则表达式
语法:
/正则表达式主体/修饰符(可选)
使用字符串方法
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
正则表达式修饰符
正则表达式模式:
使用 RegExp 对象
在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
使用 test()
test() 方法是一个正则表达式方法。
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
使用 exec()
exec() 方法是一个正则表达式方法。
exec() 方法用于检索字符串中的正则表达式的匹配。
该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>正则表达式</title> </head> <body> <p>搜索字符串 "runoob", 并显示匹配的起始位置:</p> <button onclick="regularExpressions()">点我</button> <p id="demo"></p> <p id="demo1">请访问 Microsoft!</p> <p id="demo2"></p> <p id="demo3"></p> <script type="text/javascript" src="test.js" ></script> </body> </html>
Js代码:
/** * 正则表达式 */ function regularExpressions() { var str = "Visit Runoob!"; var n = str.search(/oob/i); document.getElementById("demo").innerHTML = n; var str = document.getElementById("demo1").innerHTML; var txt = str.replace(/Microsoft/i, "Apple"); document.getElementById("demo1").innerHTML = txt; var patt1 = new RegExp("T"); //test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。 document.getElementById("demo2").innerHTML = patt1.test("The best things in life are free"); var patt1 = new RegExp("t"); /** * exec() 方法用于检索字符串中的正则表达式的匹配。 *该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。 */ document.getElementById("demo3").innerHTML = patt1.exec("The best things in life are free"); }