正则表达式
语法
/正则表达式主体/修饰符(可选,搜索不区分大小写)
js中,正则表达式常用于search()和replace()这两个字符串方法。
search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
<body>
<p>搜索字符串 "runoob", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "Visit Runoob!";
var n = str.search(/Runoob/i);
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
replace(): 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
<body>
<p>替换 "microsoft" 为 "Runoob" :</p>
<button onclick="myFunction()">点我</button>
<p id="demo">Visit Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/microsoft/i,"Runoob");
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
正则表达式在方法中不加引号,直接写
修饰符
规则
正则对象:RegExp
在 JS 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
test()方法:用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
<body>
<script>
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
</script>
</body>
输出为true
exec()方法:exec() 方法用于检索字符串中的正则表达式的匹配。
该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
<body>
<script>
var patt1=new RegExp("eeee");
document.write(patt1.exec("The best things in life are free"));
</script>
</body>
输出为null
参考手册
一些实例: