正则表达式入门
实例化 RegExp 对象
字面量 var reg = /\b \b/;
构造函数 var reg = new RegExp("/\b \b/");
修饰符
全文搜索 g global
忽略大小写 i ignore case
多行搜索 m multiple lines (匹配多行的每行首字母时)
元字符
原义文本字符
元字符 * {} + $ ? ^ . | \ () []
\t 水平制表符
\v 垂直制表符
\n换行符
\r回车符
\f换页符
\0空字符
\cX Ctrl + X符
字符串取反 ^
预定义类 . [^\r\n]
\d 数字字符
\s 空白符
\w 字母 数字 下划线
边界 ^ 开头 $ 结尾 \b 单词边界 \B 非单词边界量词 (量词后加? 改为非贪婪模式)
? 最多一次
+ 至少一次
* 任意次数
{n}出现n次
{n,m}出现n到m次
{n,}至少出现n次
{0,n}最多n次
分组 () 反向引用 $
'2018-09-13'.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2/$3/$1"); 输出 09/13/2018 ;
用 $1 来捕获 分组 就可以达到 颠倒顺序的目的
忽略 分组 (?: 分组内容)
前瞻 对符合表达式字符后面字符的判断
属性 (默认为false)
global 是否全局匹配 ignore case 是否忽略大小写 multiline 多行搜索
lastIndex 表示正则表达式开始位置的下标 (非全局时不生效)
source 表达式本身
方法
test()
exec()
replace() (reg,function(){}) 参数 匹配字符串 正则分组内容(可选) 匹配项在原数组中的index 源字符串
match()