JS 正则 简答明了 易于理解
介绍
^ 表示以什么开始
$ 表示以什么结束
| 表示或者相当于js当中的||
{} 一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s[1,3]表示匹配1到3个空格,\d{8}表示匹配8个数字
[] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\s表示空格或者号]
() 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
. 点号匹配任意单个字符
g:全局查找 /g
gi 全局查找 忽略大小写
[^a-z] //不能有小写字母 所以[]内^表示不能有
常用元字符串:
在这里插入图片描述限定符:
runoo+b 表示:+号前边runoo 至少出现一次
runoob 表示: 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)
colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次、或1次)。
参数:
其他:
[] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思
[^] 匹配除中括号以内的内容
\ 转义符
| 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱
() 从两个直接量中选择一个,分组
eg:gr(a|e)y匹配gray和grey
[\u4e00-\u9fa5] 匹配汉字
常用方法
1 、test() :在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
用法:正则.test(str) //false true
2、search() :在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1
3、 match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
4、replace() :查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
用法: 字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)
| : 或的意思
5、exec()方法:和match方法一样,搜索符合规则的内容,并返回内容,格式为数组。
用法:正则.exec(字符串);
例子
var str = "http://www.runoob.com:80/html/html-tutorial.html";
var patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
arr = str.match(patt1);
for (var i = 0; i < arr.length ; i++) {
document.write(arr[i]);
document.write("<br>");
}
image.png