一、方法一:new RegExp

1、概述: RegExp 是正则表达式的缩写;
当检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式

2. RegExp对象的方法

1) RegExp 对象有 3 个方法:test()、exec() 以及 compile();

test()
  • test() 方法检索字符串中的指定值。返回值是 true 或 false;
let b = new RegExp('f')
    console.log(b.test('abdcfa')) //true
exec()
  • exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null;
let b = new RegExp('f')
    console.log(b.exec('abdcfaff dlfja'))

android判断字符串里包含字符 判断字符串中是否包含_字符串 包含 javascript

  • 在exec()方法中,可以向 RegExp 对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”);
    在使用 “g” 参数时,exec() 的工作原理如下:
    1> 找到第一个 “e”,并存储其位置;
    2> 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 “e”,并存储其位置;
let b = new RegExp('a','g')
    let c = null
    let d = []
    do
    {
      c = b.exec('abca')
      console.log(c) // ['a', index: 0, input: 'abca', groups: undefined]
      let obj = {}
      obj =  {...obj,...c} // 老的写法:Object.assign({},c)
      console.log(obj) // {0: 'a', index: 0, input: 'abca', groups: undefined}
      d.push(obj)
    }
    while(c !== null)
    console.log(d) // [{0: 'a', index: 0, input: 'abca', groups: undefined},{0: 'a', index: 3, input: 'abca', groups: undefined},{}]
compile()
  • compile() 方法用于改变 RegExp。compile() 既可以改变检索模式,也可以添加或删除第二个参数;
let e = new RegExp('a')
    console.log(e.test('jfjdlfa'))//true
    e.compile('b')
    console.log(e.test('jfjdlfa'))//false