js正则表达式

发布时间 2023-04-13 16:47:16作者: 随手笔记
   \d 查找数字  \D 查找非数字字符
   \s 查找空白字符  \S 查找非空白字符
   \w 查找数字、字母及下划线 \W 查找非单词字符
   \n 查找换行符
   \0 查找 NULL 字符
   \r 查找回车符
   n+ 查找一个或者多个 如: /a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中所有的 "a"    当为n+?时,是禁止贪婪,偏向于少的一方,即n出现一次
   n* 匹配任何包含零个或多个 n 的字符串 如: /bo*/ o可有可无 boooo...或者b
   n? 匹配任何包含零个或一个 n 的字符串 如: /e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"
   n{X}  X 个  如: /a{2}/ 匹配连续2个a, 超过2个a也只匹配前两位
   n{X,} X 是一个正整数。 如: /a{2,}/ 匹配连续超过2个a  2个到正无穷 例如匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。
   n{X,Y} X和Y 是一个正整数。 如: /a{3,6}/ 匹配连续3-6个a 注意:aaaaaaaaaaaaaaa也只匹配前6位
   ^n 匹配任何开头为 n 的字符串。 当^在[]表示非
   n$ 匹配任何结尾为 n 的字符串。
   ?=n 匹配任何其后紧接是n
   ?!n 匹配任何其后不是n
   (?<=[a-z])\d 表示数字前面必须是字母
   (?<![a-z])\d 表示数字的前面不是字母
   \d(?![a-z]) 表示数字的后面不是字母
   \d(?=[a-z]) 表示数字的后面必须是字母
   . 匹配任意 除了换行符\n



   [] 原子表 只匹配[]中的任意一个字符  如[1234],只要存在1234中任意一个就是true  注意:原子表中的字符就是字符串本身  例如[\d\s]就是匹配字符串d或者s,转不转义都一样
   ()原子组 如果有 | 表示左右两边为一个整体,满足一个即匹配成功 例如(12|13) 匹配12或13都算成功 如果有多个(),表示一个()代表一组 可以用占位符$1表示 第一个()使用$1替换 第二个()使用$2替换,依次类推
   (?:[0-9]) 表示不记录组(忽略当前这个组)  注意此时,就不能用$1, $2的形式了
   当是(?=)、(?!)、(?<=)、(?<!)、(?!)、(?=)这几种形式时,不表示组,表示条件语句, 注意此时,也不能用$1, $2的形式了
   ^ * + ? {} $ ?= ?! 这些前面是(),会把()中的内容当做一个整体去限制


  // 正则的几种模式:
  s 单行匹配  ``中有一处或者多处换行 在匹配s模式时,是将``中的内容整体当做一行来匹配
  m 多行匹配  ``中有一处或者多处换行 在匹配m模式时,是将``中的每一行单独匹配
  g 全局匹配
  i 不区分大小写