正则表达式标志:
g标志:全局搜索。
m标志:多行搜索。
正则表达式的方法
match方法:在字符串中执行查找匹配的String方法,它返回一个数组,在未匹配到时会返回 null。
正则表达式中的特殊字符:
^字符:匹配每行的第一个字符(例如:/^A/ 并不会匹配 "an A" 中的 'A',但是会匹配 "An E" 中的 'A'。)
[xyz]:一个字符集合。匹配方括号中的任意字符,包括转义序列。你可以使用破折号(-)来指定一个字符范围。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script type="text/javascript">
/*
正则表达式标志:
g标志:全局搜索。
m标志:多行搜索。
正则表达式的方法
match方法:在字符串中执行查找匹配的String方法,它返回一个数组,在未匹配到时会返回 null。
正则表达式中的特殊字符:
^字符:匹配每行的第一个字符(例如:/^A/ 并不会匹配 "an A" 中的 'A',但是会匹配 "An E" 中的 'A'。)
[xyz]:一个字符集合。匹配方括号中的任意字符,包括转义序列。你可以使用破折号(-)来指定一个字符范围。
*/
var re = /xyz/g;
var text = 'xyz abadfsdf xyz sadfsdf xyz 全局搜索xyz。';
var re2 = /xyz/gi;
var text2 = 'XYZ abadfsdf XYZ sadfsdf XYZ 全局搜索XYZ。';
var re3 = /^xyz/gm;
var text3 = 'xyz abadfsdf\nxyz sadfsdf\nxyz 全局搜索xyz。';
var re4 = /[a-h][0-9][3-7]/g;
var text4 = 'aqwcb76';
var re5 = /[a-h0-93-7]/g;
var text5 = 'aqwcb76';
var re6 = /[abcdefgh][0123456789][34567]/g;
var text6 = 'aqwcb76';
console.log(text.match(re));//["xyz", "xyz", "xyz", "xyz"]
console.log(text2.match(re));//null
console.log(text2.match(re2));//["xyz", "xyz", "xyz", "xyz"]
console.log(text3.match(re3));//["xyz", "xyz", "xyz"]
console.log(text4.match(re4));//["b76"]
console.log(text5.match(re5));//["a", "c", "b", "7", "6"]
console.log(text6.match(re6));//["b76"]
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script type="text/javascript">
/*
正则表达式中特殊字符的含义:
$ :匹配输入的结束。
*/
const re = /x$/g;
const text = 'xyz012x';
console.log(text.match(re));//["x"]
const re2 = /^x$/g;
const text2 = 'x';
console.log(text2.match(re2));//["x"]
const re3 = /^x$/g;
const text3 = 'xyz012x';
console.log(text3.match(re3));//null
/*
练习:
检验一个字符串首尾是否含有数字
*/
const re4 = /^\d|\d$/g;
const text4 = '1xyz2';
console.log(re4.test(text4));//true
/*
练习:
检验一个字符串首尾是否含都有数字
*/
const re5 = /^\d[\w\W]*\d$/g;
const text5 = '1xyz2';
console.log(re5.test(text5));//true
</script>
</html>