一、正则表达式的语法
二、RegExp对象的匹配方法
exec方法
匹配字符串后,匹配到的所有的值返回一个数组
Array[2]
0: "JavaBcript"
1: "Bcript"
index: 0
input: "JavaBcript是我"
length: 2
test方法
返回false代表无匹配 ,true代表匹配
三、String对象的匹配方法
方法名 | 描述 |
---|---|
search() | 返回字符串中第一个匹配的索引,没有返回-1 |
match() | 返回结果是数组,同exec()方法返回结果一样 |
replace(模式,替换字符串) | 将’替换字符串’ 替换‘模式’所匹配的字符串。 |
var key = /Java(?!Script)([A-Z]\w*)/;
var text ='JavaBcript是我';
console.log(key.test(text));//true
var match = key.exec(text);
console.log(match);
//string的方法
var rs = text.search(key);
console.log(rs);//索引是0
var rs1 = text.replace(key,'我');
console.log(rs1);//我是我
var rs2 = text.replace(key,'$1');
console.log(rs2);//Bcript是我
案例二、
var str = "http://www.runoob.com:80/html/html-tutorial.html";
//没有指定全局,括号()可以捕获每个子匹配
var patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
var arr = str.match(patt1);
console.log(arr)
//RegExp.$数字 获取子匹配
console.log(RegExp.$1) // 返回'http'
结果: