(1)知识点
- (1.1)创建
- (1.2)查找
- (1.3)替换或删除
- (1.4)分隔字符串
(2)细化
- (2.1)创建
var reg = /正则表达式/属性后缀
属性后缀包括两个:
i -----> 忽略大小写
g -----> 查找或替换全部匹配内容
- (2.2)查找
(a)只判断是否包含关键字:不考虑具体内容和个数
var i=str.search(reg);
只能返回第一个找到的关键字的位置,找不到,则返回-1;
(b)获取所有关键字的内容:不考虑位置
var kwords=str.match(reg);
返回所有关键字的内容,保存在kwords数组中;
tips:找不到,返回null,都要先判断不为null,再使用kwords.length,如果kwords为null,则报错!
- (2.3)替换或删除
var newStr=str.replace(reg,"替换字符");
格式化字符串:
正则表达式中的每个(),都是一个子表达式,每个子表达式都会自动获得一个从1开始的编号;替换时,可用$n,指代本次匹配中第n个子表达式的对应内容。
- (2.4)分隔字符串
var subs=str.split(reg,[count]);
(3)实践
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>String支持的正则</title>
</head>
<body>
<script type="text/javascript">
init();
function init() {
/**
* 创建
* 属性后缀包括两个:
* i -----> 忽略大小写
* g -----> 查找或替换全部匹配内容
*/
var reg1 = /at/i;
var reg2 = /at/g;
var str1 = 'creaTion';
var kwords = str1.match(reg1);
var kwords2 = str1.match(reg2);
console.log('忽略大小写-i:' + kwords); //aT
console.log('查找或替换全部匹配内容-g:' + kwords2); //null
//替换或删除子字符串
replace("HELLO world");
//分隔字符串
var reg3 = /s/i;
var str3 = 'The rain in Spain falls mainly in the plain';
var subs=str3.split(reg3);
console.log('分隔字符串:' + subs); //The rain in ,pain fall, mainly in the plain
}
/**
* 替换或删除子字符串
*/
function replace(str) {
var reg = /HELLO/;
var newStr = str.replace(reg, "hello");
console.log(newStr);
}
</script>
</body>
</html>