正则表达式必知必会

107 阅读1分钟
  • Regex

    • 匹配单个
      • .: 匹配除了空格以外的任意字符
      • \w: 匹配字母数字下划线
    • 匹配一组
      • []: 自定义字符集合
      • \1: 引用组
      • (): 分组,eg: (c|r)at|dog匹配cat rat dog
      • (?:xxx): 非捕获分组
    • 元字符
      • ^: 取反,等价于\D
      • ^[0-9]: 表示匹配行首的数字0-9
      • [^0-9]: 表示匹配非数字,取反的作用
    • 重复匹配
      • ?: 匹配0次或者1次
      • +: 匹配至少1次
      • *: 匹配0次或任意次
      • {n}: 固定重复n次
      • {m,n}: 至少重复m次,尽可能重复n次
      • {m,}: 至少匹配m次
    • 零宽断言
      • (?=): 正向先行断言
        • Date: 4 Aug 3PM, \d+(?=PM)只匹配PM前面的数字
      • (?!): 负向先行断言
      • (?<=): 正向后行断言
        • Product Code: 1064 Price: $5, /(?<=\$)\d/g只匹配$后面的数字
      • (?<!): 负向后行断言
        • Product Code: 1064 Price: $5, (?<!\$)\d+ 匹配非$开始的数字
    • 匹配模式
      • /g: 全局
      • /m: 多行
      • /i: 忽略大小写
    • 匹配位置
  • 引用