修饰符
i :对大小写不敏感匹配 g:执行全局匹配(找到所有匹配) m:执行多行匹配
方括号
[abc]查找括号内的任何字符 [^abc] 查找任何不在括号内的字符 [0-9]查找从0至9的任何字符 [a-z] [A-z] [A-Z] (red|blue|green)查找任何指定的选项
RegExp 对象方法
exec 检索字符串中指定的值。如果找到值,则返回该匹配值,否则返回null test 检索字符串中指定的值。匹配则返回true 否则false
支持正则表达式的 String 对象的方法
search 检索与正则表达式相匹配的值,返回匹配值的位置索引 match 找到一个或多个正则表达式的匹配,返回匹配值 replace 替换正则表达式匹配的字符串 split 把字符串分割为字符串数组
正则表达式匹配与搜索
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript中的正则表达式
</title>
</head>
<body>
<h1>JavaScript中的正则表达式
</h1>
</body>
<script>
var str = "wert45678yuiytrew";
console.log(str.match(/[0-9]+/));
var pat = new RegExp("[0-9]+");
console.log(str.match(pat));
console.log(pat.exec(str));
console.log("==============================");
console.log(str.search(/[0-9]+/));
console.log(str.search(pat));
console.log(pat.test(str));
console.log("==============================");
var str = "wert45678yui456ytr678ew";
console.log(str.match(/[0-9]+/));
console.log(str.match(/[0-9]+/g));
</script>
</html>
正则表达式语法格式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript中的正则表达式
</title>
</head>
<body>
<h1>JavaScript中的正则表达式
</h1>
</body>
<script>
var str = "wer245ty4d56fg78hj987k";
console.log(str.match(/\d+/g));
console.log(str.match(/\d{1,}/g));
console.log(str.match(/[0-9]{1,}/g));
var pat = new RegExp("[0-9]+");
console.log(pat.test("er2567thj"));
var pat = new RegExp("^[0-9]+");
console.log(pat.test("er2567thj"));
console.log(pat.test("2567thj"));
var pat = new RegExp("[0-9]+$");
console.log(pat.test("er2567thj"));
console.log(pat.test("wer2567"));
var pat = new RegExp("^[0-9]+$");
console.log(pat.test("2567thj"));
console.log(pat.test("wer2567"));
console.log(pat.test("2567"));
var pat2 = new RegExp("^[0-9]{6}$");
</script>
</html>
JS正则表达式替换与分割
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript中的正则表达式
</title>
</head>
<body>
<h1>JavaScript中的正则表达式分割和替换
</h1>
</body>
<script>
var str = "23:45:67:89:87:63";
console.log(str.split(":"));
str = "23:45;67:89!87#63";
console.log(str.split(/[^0-9]/));
str = "23:45;67:89!87#63";
console.log(str.replace(/[^0-9]/g,","));
str = "<b>aaa</b><b>bb>b</b><b>ccc</b>";
console.log(str.replace(/<b>(.*?)<\/b>/g,"<i>$1</i>"));
console.log("=========================================");
str = "04/28/2020";
console.log(str.replace(/(\d{2})\/(\d{2})\/(\d{4})/,"$3-$1-$2"));
</script>
</html>
十进制ASCII码表