JavaScript|正则表达式以及search、text、replace的应用
1.正则表达式
正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。
语法:/正则表达式主体/修饰符(可选)
主体即为搜索的内容
修饰符可以是:
- i :执行对大小写不敏感的匹配
- g :执行全局匹配,即查找所有匹配而非再找到第一个匹配后停止
- m :执行多行匹配
括号:
- [abc] :查找方括号之间的任何字符
- [0-9] :查找任何从0-9的数字
- (x|y) :查找任何以|分隔的选项
元字符:
- \d :查找数字
- \s :查找空白字符
- \b :匹配单词边界
- \u1100 :查找以16进制数1100规定的Unicode字符
量词:
- n+ :匹配任何包含至少一个n的字符串
- n* :匹配任何包含至少0个n的字符串
- n? :匹配任何包含0个或一个n的字符串
例如:/Hello/i就是一个正则表达式,Hello是主体同于检索,i是修饰符,表示不区分大小写。
2.search方法使用正则表达式
返回找到正则表达式主体的位置:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
</head>
<body>
<script>
var x = /Hello/i;
var s = "javascript,hello,world,hello";
document.write(s.search(x));
</script>
</body>
</html>
3.replace方法使用正则表达式
查找正则表达式主体, 并且修改为给定内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
</head>
<body>
<script>
var x = /Hello/i; //正则表达式,主体是Hello,i表示不区分大小写
var s = "javascript,hello,world,hello";
document.write(s.search(x) + "<br>"); //利用search方法在s中查找Hello,并且不区分大小写
</script>
<script>
var x = /Hello/; //正则表达式,主体是Hello
var s = "javascript,hello,world,Hello";
document.write(s.replace(x,"ok!")); //利用replace在s中查找Hello,并且修改为"ok!"
</script>
</body>
</html>
3.text方法使用正则表达式
test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>正则表达式</title>
</head>
<body>
<script>
var s1 = "hello,world!";
var s2 = "Hello,world!";
var zz = /Hello/;
document.write(zz.test(s1) + "<br>"); //利用text判断s1中是否有子串与zz匹匹配
document.write(zz.test(s2) + "<br>"); //利用text判断s2中是否有子串与zz匹匹配
</script>
</body>
</html>
这个的结果分别是false和true。
人生没有白走的路,每一步都算数!