如何为自定义语法高亮编写正则表达式

How to write a regex expression for custom syntax highlighting

我想编写一个匹配以下文本的正则表达式:

200502-title-of-something

我希望表达式匹配任何出现的六位数日期,后跟以破折号分隔的文本字符串。

我将其用于 sublime-syntax 文件 (YAML 1.2) 中的自定义语法突出显示。

我希望表达式匹配任何出现的六位数日期 \d{6}
后跟一串文本 [a-zA-Z]+
以破折号分隔-.

总结:

\b\d{6}(?:-[a-zA-Z]+)+\b

其中:

  • \b是一个单词边界
  • -一个连字符
  • [a-zA-Z]+ 匹配 1 个或多个字母的字符 class
  • (?:...)+ 非捕获组,可能出现 1 次或多次

Demo & explanation