# javascript对正则表达式总结

# 正则创建

  • js风格
const str = 'sfsdfsa'
const reg =  new RegExp('a');
str.search(reg);

  • pre风格
const reg = /a/;
str.search(reg);

# 选项

  • i 忽略大小写
  • g 全局匹配
  • m 多行模式

正则默认工作在单行模式^$指的是整个字符串文本的开头和结尾,不会识别字符串里面的换行
多行模式下,^$ 指的是每一行的开头和结尾,可以识别字符串里面的换行

# 转义

# 检测

  • search 类似于indexof, 有则返回位置,否则返回-1
  • match 匹配 结果为数组
  • replace 替换
  • test 返回true false 正则.test(文本)

# 贪婪匹配

正则默认情况话,会倾向匹配尽可能长的东西

# 量词

如果不加量词,默认是一个

  • + 若干 代表大于等于一个(每一组尽可能长的去匹配) = {1,}
  • * = {0,} 最少可以没有
  • ? = {0,1} 可有可无,有的话最多有一个
  • {n} 几个
  • {n,m} 范围

# 元字符

[]

  • 或 [xx]
  • 表示范围[x-x]
  • 排除 [^xxx]

# 修饰符

  • ^ 行首
  • $ 行尾