JS正则表达式备忘单-第二天

207 阅读2分钟

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。

锚点定位

  • ^: 字符串的开头或多行模式中的一行的开头
  • $: 字符串的结尾或多行模式中的一行的结尾
  • \b: 字边界
  • \B: 不是词边界(与 相反\b

注意:锚是不可量化的(即不能跟一个量词)。

字符序列

  • .: 除换行符以外的任何字符
  • \w: 任何单词字符
  • \W: 任何非单词字符(与 相反\w
  • \s: 任何空白字符
  • \S: 任何非空白字符(与 相反\s
  • \d: 任何数字字符
  • \D: 任何非数字字符(与 相反\d
  • [abc]: 给定集合中的单个字符(此处为a,bc
  • [^abc]: 不在给定集合中的单个字符(与 相反[abc]
  • [a-z]:在给定的范围内(在此之间的单个字符az含)
  • [^a-z]: 不在给定范围内的单个字符(与 相反[a-z]
  • [a-zA-Z]: 任一给定范围内的单个字符

注意:使用转义特殊字符(例如/[](){}等)。

量词

  • a?: 零或之一a(等于a{0,1}
  • a*: 零个或多个a(等于a{0,}
  • a+: 一个或多个a(等于a{1,}
  • a{3}: 正好 3 个 a
  • a{3,}: 3 个或更多 a
  • a{3,5}: 3 到 5 之间a(含)

注意:a是任何有效的可量化表达式。

范围

  • (ab): 匹配并捕获所包含的所有内容(正是在这里ab
  • (a|b): 匹配并捕获任一字符(此处ab
  • (?:ab): 匹配包含的所有内容,不捕获

语言地区

  • g: 全球的
  • m: 多行
  • i: 不区分大小写
  • u: 统一码

请注意,此备忘单仅作为起点和入门,绝不是正则表达式所有功能和细微差别的完整指南。 您还可以百度搜索“ JavaScript 正则表达式功能”,以深入了解一些更高级的功能。