<!DOCTYPE html>
<html>
<head>
<title>search.html</title>
<script type="text/javascript">
//String支持使用正则表达式的四种方法
//search,它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到,返回-1
var index = 'JavaScript'.search(/script/i);
//4
console.log(index);
//number
console.log(typeof index);
//search方法不支持全局检索,因为它忽略正则表达式参数中的修饰符g
var indexG = 'JavaScript Java'.search(/java/gi);
//0
console.log(indexG);
//如果参数不是RegExp,则会根据参数先创建一个实例
var indexNotReg = 'JavaScript'.search('Sc');
//4
console.log(indexNotReg);
</script>
</head>
<body>
This is my HTML page. <br>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>replace.html</title>
<script type="text/javascript">
//replace方法用于执行检索和替换操作。其中第一个参数是一个正则表达式,第二个参数是要进行替换的字符串
//如果正则表达式中没有修饰符g,那么源字符串中与模式匹配的第一个子串将被替换
var strNotG = 'java javascript'.replace(/java/i, 'Java');
//Java javascript
console.log(strNotG);
//如果正则表达式中设置了修饰符g,那么源字符串中所有与模式匹配的子串都将被替换
var strG = 'java javascript'.replace(/java/gi, 'Java');
//Java Javascript
console.log(strG);
//如果第一个参数不是正则表达式,replace将直接搜索该字符串,并替换第一个匹配的子串,与search方法不同(如果参数不是RegExp,则会根据参数先创建一个实例)
var strNotReg = 'java javascrip'.replace('java', 'C++');
//C++ javascript
console.log(strNotReg);
</script>
</head>
<body>
This is my HTML page. <br>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>match.html</title>
<script type="text/javascript">
//match方法只有一个参数,就是正则表达式或通过RegExp函数将其转换为正则表达式
//返回的是由匹配结果组成的数组
var arr = '000zhang1quan22zhong3'.match(/\d{2,}/g);
//['000', '22']
console.log(arr);
//object
console.log(typeof arr);
</script>
</head>
<body>
This is my HTML page. <br>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>split.html</title>
<script type="text/javascript">
//split方法的参数可以是字符串也可以是正则表达式
//返回结果为根据参数拆分后的子串组成的数组
var str = 'zhang,quan,zhong'.split(',');
//['zhang', 'quan', 'zhong']
console.log(str);
//object
console.log(typeof str);
var strReg = 'zhangAquanBzhong'.split(/[A-Z]/);
//['zhang', 'quan', 'zhong']
console.log(strReg);
</script>
</head>
<body>
This is my HTML page. <br>
</body>
</html>