正则是用来检查字符串满足什么模式,不能用来检查不满足什么模式。
/b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是/b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。
/s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。/w匹配字母或数字或下划线或汉字等。
匹配除换行符以外的任意字符 | |
/w | 匹配字母或数字或下划线或汉字 |
/s | 匹配任意的空白符 |
/d | 匹配数字 |
/b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束
|
下面是正则表达式中所有的限定符(指定数量的代码,例如*,{5,12}等):
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
像[0-9]代表的含意与/d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于/w(如果只考虑英文的话)。
代码/语法 | 说明 |
---|---|
/W | 匹配任意不是字母,数字,下划线,汉字的字符 |
/S | 匹配任意不是空白符的字符 |
/D | 匹配任意非数字的字符 |
/B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 111 |
src="/public/upload/share/000/000/000/29/354afa82f53ebd56b54bcb704e119aa59b4hAO_190x999.jpg"
匹配表达式
src=\"/public/upload/share/000/000/000/\d*/\w*\.jpg\"
如果是匹配出某部分
如:
src="/assets/graphics/emojis/bowtie.png" >
变成 src="/assets/graphics/emojis/bowtie.png" id="bowtie" >
可用如下:替换
src = \/assets\/graphics\/emojis\/$1\.png" id="$1"
js ip test(patten.test(src)) (src.mathc(patten))
var patten = /^(22[4-9]|23\d)\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;%>if(patten.test(start) == false){ alert("起始地址错误");return false;}
+++++++++++++++++++++++++++++++++++++++++++++++++
学习:
“hI".match(/^["h","H"]["i","I"]$/) or "hI".match("/(h|H)(i|I)/")
"h".match(/^\b(H|h)\b$/)
"h abbbbb".match(/^\b(H|h) \wb{2,6}$/)
"h abc".match(/^\b(H|h) \wbc?$/)
* 表示任意次