正则表达式
定义:/ 正则表达式 / 修饰符 eg:/[0-9]+/ 、/[0-9]+/i 、/[0-9]+/g、/[0-9]+/gi
修饰符:i、g、m、s
i:不区分大小写,eg:/a/i
g:全局匹配,查找所有的匹配项,比如:/[0-9]+/匹配一次,/[0-9]+/g 匹配所有;
m:匹配多行
s:加上 s 后, . 中包含换行符 \n;
规则:
^和$匹配一个位置,开始和结束;
*、+、? 表示重复次数,分别为任意次、至少一次、零次或1次;
小括号表示一组,作为一个整体来对待:
(ab){2}:表示abab
(a|b|c):表示a或者b或者c,如果想把内部的分开,使用|
中括号表示范围
[abc]:匹配a、b、c
[a..z]:匹配a到z
[A-Za-z]:匹配大小写a到z
[^a-z]:匹配不在a到z的,中括号的^表示非,不是开始;
大括号表示重复次数:
"ab{2}":表示一个字符串有一个a跟着2个b("abb");
"ab{2,}":表示一个字符串有一个a跟着至少2个b;
"ab{3,5}":表示一个字符串有一个a跟着3到5个b;
'*'、'+'、'?' 相当于 "{0,}"、"{1,}"、"{0,1}";
常用的元字符:
. 匹配除换行符以外的任意字符;
\w 匹配字母或数字或下划线或汉字,等价于 [A-Za-z0-9_];
\W 匹配非字母、数字、下划线,等价于 [^A-Za-z0-9_];
\s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等;
\S 匹配非空白符,不包括换行,[\s\S]匹配所有;
\d 匹配数字,等价于 [0-9];
\D 匹配一个非数字,等价于 [^0-9]
\b 匹配单词的开始或结束;
\t 匹配制表符
\n 匹配换行符
\r 匹配回车符
常用正则表达式:
1、提取html图片链接:/<img.*?\ssrc=['"](.*?)['"]/ 参考
2、js过滤html标签方法:str.replace(/<\/?.+?>/g,'');