1

这里只讲在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类型。

nanaistaken
583 声望43 粉丝