一、创建正则表达式
1.方式1:使用关键字new创建
var patt = new RegExp(正则表达式的内容,模式);
<script type="text/javascript">
/*
创建了一个正则表达式
参数1:模式是:girl,意思是说可以匹配 "girl"这样的字符串
参数2:模式修饰符:gi g代表全局匹配 i代表不区分大小写
*/
var pa = new RegExp("girl", "gi");
//测试参数中的字符串"你好我的girl" 是否与匹配模式匹配。
var isExist = pa.test("你好我的girl"); // 在本例中,是匹配的,这个字符串包含girl,
所以返回true
alert(isExist); //true
</script>
2.方式2:使用正则表达式直接量
var pa = /girl/gi;
注: gi 全局 忽略大小写
<script type="text/javascript">
var pa = /girl/gi;
alert(pa.test("厉害了我的girl")); //true
</script>
二、正则表达式的方法
1.test 方法
正则表达式对象.test(字符串)
- 参数:要匹配的字符串
- 返回值:匹配成功返回true,失败返回false
Paste_Image.png
2.exec方法
exec(字符串):该方法为专门为捕获组而设计的
参数:要匹配的字符串
返回值:返回的是一个数组。如果不匹配则返回null
Paste_Image.png
三、正则表达式规则
正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的
方式。反斜杠后的元字符将失去其特殊含义。
字符类:单个字符和数字
[0-9A-Za-z]
元字符/元符号 匹配情况
. 匹配除换行符外的任意字符
[a-z0-9] 匹配括号中的字符集中的任意字符
[^a-z0-9] 匹配任意不在括号中的字符集中的字符
\d ==[0-9] 匹配数字
\D ==[^0-9] 匹配非数字,同[^0-9]相同
\w [0-9A-Za-z_] 匹配字母和数字及_
\W 匹配非(字母和数字及_)
字符类:空白字符
元字符/元符号 匹配情况
\0 匹配null 字符
\b 匹配空格字符
\n 匹配换行符
\r 匹配回车字符
\t 匹配制表符
\s 匹配空白字符、空格、制表符和换行符
\S 匹配非空白字符
字符类:锚字符
元字符/元符号 匹配情况
^ 行首匹配
$ 行尾匹配
字符类:重复字符
元字符/元符号 匹配情况
? 例如(x?) 匹配0个或1 个x
* 例如(x*) 匹配0个或任意多个x
+ 例如(x+) 匹配至少一个x
(xyz)+ 匹配至少一个(xyz)
{m,n} 例如x{m,n} n>=次数>=m 匹配最少m个、最多n个x
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
Paste_Image.png
四、字符串支持正则的四个方法
1.search检索与正则表达式相匹配的第一个匹配项的索引。总是从0开始找
Paste_Image.png
2.match 找到一个或多个正则表达式的匹配。
Paste_Image.png
获取网页中的图片
Paste_Image.png
3.replace 替换与正则表达式匹配的字符串。
Paste_Image.png
4.split 把字符串分割为字符串数组。
Paste_Image.png