js正则

80 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情

JavaScript正则表达式

定义

正则表达式是由一个字符序列形成的搜索模式.
当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容.
正则表达式可以是一个简单的字符,或一个更复杂的模式.
正则表达式可用于所有文本搜索和文本替换的操作.

语法

/正则表达式主体/修饰符(可选)

创建

  • 表达式
    • 单个字符与数字
      • . 匹配除换行符之外的任意字符
      • [a-z0-9] 匹配方括号中的任意字符
      • [^a-z0-9] 匹配不在方括号中的任意字符
      • \d 匹配数字
      • \D 匹配非数字
      • \w 匹配字母
      • \W 匹配非字母
    • 空白字符
      • \O 匹配null字符
      • \b 匹配空格字符
      • \f 匹配换页符
      • \n 匹配换行符
      • \r 匹配回车符
      • \s 匹配空白字符、空格、制表符或换行符
      • \S 匹配非空白字符
      • \t 匹配制表符
    • 定位符
      • ^ 行首匹配
      • $ 行尾匹配
      • \A 只匹配字符串的开始处
      • \b 匹配单词边界,词在[]内无效
      • \B 匹配非单词边界
      • \G 匹配当前搜索的开始位置
      • \Z 匹配字符串结束处或行尾
      • \z 只匹配字符串结束处
    • 限定符
      • x? 匹配0个或1个x
      • x* 匹配0个或任意多个x
      • x+ 匹配至少1个x
      • x{m,n} 匹配最少m个,最多n个x
    • 分组
      • (?:x) 匹配x但不记录匹配结果
      • x(?=y) 当x后接y时匹配x
      • x(?!y) 当x后不是y时匹配x
    • 引用
      • \1...\9 返回九个在模式匹配期间找到的、最近保存的部分
      • $1...$9 返回九个在模式匹配期间找到的、最近保存的部分
    • 或模式
      • x|y|z 匹配x或y或z
  • 模式修饰符
    • g : 全局模式,应用于所有字符串
    • i : 区分大小写模式
    • m : 多行匹配模式

属性

  • 实例属性
    • global : 检测是否设置g标记
    • ignoreCase : 检测是否设置i标记
    • multiline : 检测是否设置了m标记
    • source : 返回正则表达式的字符串表示

方法

  • exec : 在字符串中执行匹配检索,返回结果数组
  • test : 在字符串中测试模式匹配,返回true或者false
  • match : 找到一个或多个正则表达式的匹配
  • replace : 替换与正则表达式匹配的子串
  • search : 检索与正则表达式相匹配的值
  • split : 把字符串分割为字符串数组