<script>
/*
正则表达式
使用字符串方法
在JS中,正则表达式通常用于两个字符串方法:search()和replace()
search()方法 用于检索字符串中指定的子字符串,或检索与正则表达式想匹配
的子字符串,并返回子串的起始位置。
replace()方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正
则表达式匹配的子串
*/
/*
正则表达式修饰符
i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m 执行多行匹配
*/
function zhengZe() {
var str = "Visit W3Cschool";
var n = str.search(/W3Cschool/i);
// 返回起始位置
document.getElementById("demo").innerHTML = n;
}
function zhengZeReplace() {
var str = "Visit Microsoft";
var res = str.replace(/Microsoft/i, "w3cschool")
document.getElementById("demo").innerHTML = res
}
/*
正则表达式模式
方括号用于检查某个范围内的字符:
[abc] 查找方括号之间的任何字符
[0-9] 查找任何从0到9的数字
(x|y) 查找任何以|分隔的选项
元字符是拥有特殊含义的字符:
\d 查找数字
\s 查找空白字符
\b 匹配单词边界
\uxxxx 查找以十六进制数xxxx规定的Unicode字符。
词量:
n+ 匹配任何包含至少一个n的字符串
n* 匹配任何包含零个或多个n的字符串
n? 匹配任何包含另个或一个n的字符串
*/
</script>
<br>
<script>
/*
使用 RegExp 对象
RegExp 对象是一个预定义了属性和方法的正则表达式对象。
test() 方法用于检测一个字符串时候匹配摸个模式,如果字符串中含有匹配的
文本,则返回true,否则返回false.
*/
var patt = new RegExp("e");
document.write(patt.test("The best things in life are free")); //返回true
// 可以这样直接测试
document.write(/e/.test("The best things in life are free"));
</script>
<br>
<script>
/*
exec()方法 用于检索字符串中的正则表达式的匹配。
该函数返回一个数组,其中存放匹配的结果,如果为找到匹配,则返回值为null
*/
document.write(/e/.exec("the best things in life are free"));
</script>