我正在尝试为 Sublime Text 创建一个新的语法定义。我已经制定了正则表达式来突出显示每一行中的匹配项,但我希望匹配项包括新行以及任何字符。这是 tmLanguage 文件中的正则表达式,它在一行中工作:
<key>match</key>
<string>\{\+\+(.*?)\+\+[ \t]*(\[(.*?)\])?[ \t]*\}</string>
我试图修改点 (.) 匹配以跨越多行,但它实际上似乎并没有捕获整个块。我的理解是修饰符 ?m: 应该可以工作,但不能。
<key>match</key>
<string>(?m:(\{\+\+(.*?)\+\+[ \t]*(\[(.*?)\])?[ \t]*\}))</string>
有没有办法声明将跨多行匹配的语言定义正则表达式?