RegEx

字符

  1. .: 任意字符
    • /1999.12.30/ 可以匹配 1999-12-30, 1999/12/30, 1999012030
  2. []: 字符集
    • /[Hh]ello/ 可以匹配 Hello, hello
    • /H[1-3]/ 可以匹配 H1, H2, H3
    • /[^0-5]/ 可以匹配 6, 7, 8, 9
  3. \char: 转译字符
    • /\[\]/ 可以匹配 []

量词

  1. ?: 可选
    • /https?/ 可以匹配 http, https
    • /Mon(day)?/ 可以匹配 Mon, Monday
  2. *: 任意个
    • /lo*ve/ 可以匹配 lve, love, loove
  3. +: 至少一个
    • /lo+ve/ 可以匹配 love, loove
  4. {min,max}: min 到 max 个
    • /ha{3,4}/ 可以匹配 haaa, haaaa
    • /ha{3}/ 可以匹配 haaa
    • /ha{3,}/ 可以匹配 haaa, haaaaaaa

位置

  1. ^: 行开头
    • /^hi/: "hi", "hi sara"
  2. $: 行末尾
    • /dog$/: "dog", "my dog"
    • /^dog$/: "dog"
  3. (?<=): 之后
    • /(?<=@)\d+/: "123@123"
  4. (?=): 之前
    • /\d+(?=@)/: "123@123"
  5. (?<!): 非之后
    • /(?<!\w)\d+/: "A123 123 123"
  6. (?!): 非之前
    • /\d+(?!\w)/: "123A 123 123"

子表达式

  1. |: 或
    • /hi|hello/ 可以匹配 hi, hello
    • /(light|dark) mode/ 可以匹配 light mode, dark mode
  2. (): 分组
    • /Mon(day)?/ 可以匹配 Mon, Monday
  3. \num: 引用分组
    • /(ha) \1/ 可以匹配 ha ha

选项

  1. -i: 大小写不敏感
    • /dark/i 可以匹配 dark, Dark, DARK