这里只讲在JavaScript中的正则表达式
1: 如何创建一个正则表达式
在JS中有 2 种方式创建一个正则表达式:
1: 通过正则表达式字面量
const pattern = /test/; 这里的双斜杠(//)就像字符串的引号一样(“”或者‘’)一样,用来表明它的类型,是必不可少的。
2: 实例化一个RegExp对象
const pattern = new RegExp('test'); 实例化时,RegExp构造器接受的第一个参数就是正则表达式的内容,为string类型。
除了正则表达式本身,还有5个flag配合正则表达式一起使用:
i(ignore) -匹配不区分大小写 g(global) -匹配模式中的所有实例,而不是默认只匹配第一次出现的结果 m(many) -匹配多行,比如可以匹配textarea中的值 u(unicode)[es6新增] -把正则表达式的内容当作一串unicode的码位(unicode code points) y(sticky)[es6新增] -给正则表达式设置了lastIndex的值,比方说1;那么在目标字符串中,就从其第2(下标也是从0开始计数的)个字符开始比较匹配。
那么当我们在创建一个正则表达式的过程中,要加上以上的flag的话,定义如下:
1: 使用字面量时:
const pattern = /test/i; //直接把flag跟在正则表达式后面 const pattern = /test/ig; //可以给多个flag
2: 实例化一个RegExp时
const pattern = new RegExp('test','ig'); //falg作为构造器的第二个参数,string类型。