/pattern/flags正则表达式是一种用于模式匹配和搜索文本的工具。
- regex101.com/ 正则测试网站
- www.lipsum.com/ 随机文本
- www.runoob.com/regexp/rege… 菜鸟教程
正则表达式:
/pattern/ :由‘原义字符’和‘元字符’组成
元字符:预先定义好的在正则表达式中有特殊含义的非字母字符
数量限定符Quantifiers
?前面的字符出现次数 =1或=0*前面的字符出现次数 >=0+前面的字符出现次数 >=1{n1,n2}前面的字符出现次数为 n1~n2次,n2可以省略
分组 Group
()将括号内的字符都作为限定对象,不然只限定一个字符
“或”运算 OR Operator
(a|b)匹配 a 或 b(ab)|(cd)匹配 ab 或 cd
字符集/类 Character Classes
[a-zA-Z]匹配所有字母[^0-9]匹配所有数字意外的字符[abc]匹配 abc 字符
其他元字符 Meta-characters
\d所有数字,等于[0-9]\D所有非数字\w所有单词字符(英文、数字、下划线)\W所有非单词\s所有空白符(空格、换行符、tab)\S所有非空白符\t:匹配一个水平制表符(一个tab键:四个空格)\n:匹配一个换行符(newline)\r:匹配一个回车符(carriage return).任意字符(除了换行符)^匹配行首$匹配行尾\b:匹配一个零宽单词的边界,例如:/\babc\b/匹配"abc abcabc"中的"abc",/ly\b/匹配"possibly yesterday."中的"ly"\B:匹配一个零宽非单词边界,如两个字母之间或两个空格之间
/flags:修饰符 (写在表达式/最末尾)
i不区分大小写g全局查找所有匹配项m多行匹配
匹配模式
<.+>贪婪匹配,例如:<span><b>example</b></span>匹配了全部,正则表达式在匹配时会尽可能多地匹配,直到匹配失败,默认是贪婪模式。<.+?>懒惰匹配,例如:<span><b>example</b></span>,让正则表达式尽可能少地匹配,即一旦匹配成功就不再继续往下,在量词后面加? 即可。
js 中的正则表达式 api
RegExp 对象
创建一个正则表达式对象
- 字面量
var reg = /ab+c/i;
- 构造函数
var reg = new RegExp("ab+c",'i');
var reg = new RegExp(/ab+c/, "i"); // 首个参数为常规字面量的构造函数
RegExp的常用方法
reg.exec(str)在一个指定字符串中执行一个搜索匹配。返回一个结果数组或nullreg.test(str)如果正则表达式与指定的字符串匹配,返回true;否则false。- ……