美文网首页
1.【正则】RegExp、test、match、修饰符

1.【正则】RegExp、test、match、修饰符

作者: 一土二月鸟 | 来源:发表于2021-04-05 12:58 被阅读0次

RegExp

  1. RegExp是Regular Expression(合格的表达式)缩写。
  2. new RegExp(arg1, arg2); arg1为字符串或字面量正则对象。arg2为修饰符。
  3. 如果arg1为字符串代表的是正则表达式中的内容。

RegExp和//(字面量)的关系

  1. new RegExp()和//都是创建正则的方式。前者是通过new实例化,后者是字面量。
  2. RegExp的修饰符需要放到第二个参数,并且为字符串形式。字面量直接将修饰符跟在/后面。
var reg = /abc/i;
var regExp = new RegExp('abc', 'i');
  1. RegExp可以直接使用变量,//不可以。例如:
var a = 'test';
var regExp = new RegExp(a);
var reg = /a/;

var str = 'test';
regExp.test(str); // true
reg.test(str); // false;
  1. RegExp(reg)所生成的对象和reg是同一个引用。new RegExp(reg)所生成的对象和reg是两个不同的对象。
var reg = /a/; 
var regExp = RegExp(reg);
console.log(reg === regExp); // true

var reg = /a/; 
var regExpNew = new RegExp(reg);
console.log(reg === regExpNew); // false

test

  1. test是正则对象的方法。它可以用于检测字符串是否符合正则表达式的规则。
  2. 如果符合则返回true。反之为false。
  3. 检测字符串时,默认严格区分大小写,如果正则使用了修饰符 i 则忽略大小写。
var str = 'abcTesTabc';
var reg = /test/;
reg.test(str); // false;

var str = 'abcTesTabc';
var reg = /test/i;
reg.test(str); // true;

match

  1. match是字符串的方法。它可以用于匹配出字符串中所有符合正则表达式的子字符串。
  2. 默认为不忽略大小写,且只匹配出第一个符合规则的字符串。
  3. 使用了修饰符g则会匹配出所有符合规则的子字符串。
  4. 如果未匹配出任何结果,返回null。
var str = 'abc123Abc';
var reg = /abc/;
str.match(reg); // 匹配出一个abc。

var str = 'abc123Abc';
var reg = /abc/i; // 忽略大小写
str.match(reg); // 匹配出一个abc。

var str = 'abc123Abc';
var reg = /abc/ig; // 忽略大小写,且全局匹配。
str.match(reg); // 匹配出abc和Abc。

var str = '1abc123\nAbc'; // 多行匹配首字母
var reg = /^abc/im; // 忽略大小写,多行匹配
str.match(reg); // 匹配出Abc

修饰符

  1. i 忽略大小写
  2. g 全局匹配
  3. m 多行匹配,通常结合\n和^使用,如果要匹配第二行的开头字母,则需要用到m(见match中的例子)

相关文章

网友评论

      本文标题:1.【正则】RegExp、test、match、修饰符

      本文链接:https://www.haomeiwen.com/subject/jwcdkltx.html