Skip to content

正则表达式

创建正则表达式

  • 字面量语法:/pattern/flags
  • 构造函数语法:new RegExp('pattern', 'flags')

常用标识(flags)

  • g:全局搜索。
  • i:忽略大小写。
  • m:多行搜索。
  • u:Unicode模式,正确处理大于\uFFFF的Unicode字符。
  • y:粘性搜索,匹配从目标字符串的当前位置开始。

实例方法

exec(str: string)

exec() 方法用于在一个指定字符串中执行一个搜索匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

数组的index属性是匹配文本的起始位置,input属性是被检索的字符串。

当正则表达式使用了g标志时,exec()将从正则表达式的lastIndex属性指定的位置开始搜索,并在找到匹配项后更新lastIndex属性。连续调用exec()将遍历字符串中的所有匹配项。

如果正则表达式没有使用g标志,exec()总是从字符串的开头开始搜索,每次调用只返回第一个匹配项,并且lastIndex不会被更新。

test(str: string)

test() 方法用于检测一个字符串是否匹配某个模式。如果字符串中有匹配的值返回 true,否则返回 false。