正则表达式是构成搜索模式的字符序列,该搜索模式可用于文本搜索和文本替换操作。
1.语法:/pattern/modifiers;
实例
var patt = /w3school/i;例子解释:
/w3school/i
是一个正则表达式。
w3school
是模式(pattern)(在搜索中使用)。
i
是修饰符(把搜索修改为大小写不敏感)。g(全局匹配)
m(执行多行匹配)
2.1.使用test()
它通过模式来搜索字符串,然后根据结果返回turn或者false、
下面的例子搜索字符串中的字符 "e":
实例
var patt = /e/; patt.test("The best things in life are free!");由于字符串中有一个 "e",以上代码的输出将是:
true
2.2.使用exec()
它通过指定的模式(pattern)搜索字符串,并返回已找到的文本。如果未找到匹配,则返回 null
下面的例子搜索字符串中的字符 "e":
实例
/e/.exec("The best things in life are free!"); 由于字符串中有一个 "e",以上代码的输出将是:e
3.使用字符串方法
正则表达式常用于两个字符串方法:
(1)
search()
方法使用表达式来搜索匹配,然后返回匹配的位置。
1.字符串作为搜索参数,字符串参数将被转换为正则表达式
<p>在字符串中搜索“W3School”,并显示匹配的位置:</p>
<p id="demo"></p>
<script>
var str = "Visit W3School!";
var n = str.search("W3School");
document.getElementById("demo").innerHTML = n;
</script>
结果为
6
2.使用正则表达式执行搜索字符串 。
var str = "Visit W3School"; var n = str.search(/w3school/i);结果是:6
(2)
replace()
方法返回模式被替换处修改后的字符串
replace(参数1,参数2)
参数1:被选中的字符串
参数2:准备替换参数1的字符串
1.字符串作为搜索参数
<!DOCTYPE html>
<html>
<body>
<p>请把下面的段落中的“Microsoft”替换为“W3School”:</p>
<button onclick="myFunction()">试一试</button>
<p id="demo">请访问 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace("Microsoft","W3School");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
结果为:点击按钮,“Microsoft”替换为“W3School”。
2.使用大小写不明的正则表达式的写法
var str = "Visit Microsoft!";var res = str.replace(/microsoft/i, "W3School");