微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

regex – Vim中正则表达式的语法高亮显示

每当我看到任何复杂的正则表达式时,我的眼睛就会开始流水.是否有任何现有的解决方案为正则表达式中的不同类型的符号赋予不同的颜色?

理想情况下,我希望对文字字符,转义序列,类代码,锚点,修饰符,前瞻等进行不同的突出显示.显然,语法会在不同语言之间略有变化,但这是稍后要处理的皱纹.

奖励积分如果这可以某种方式与语法突出显示Vim与使用正则表达式的任何语言共存.

这是存在于某个地方,还是我应该在那里制作呢?

正则表达式可能不是语法突出显示的,但您可以通过其他方式考虑使它们更具可读性.

有些语言允许您跨多行(perl,C#,Javascript)打破正则表达式.一旦你这样做,你可以格式化它,使普通人的眼睛更具可读性. Here’s an example of what I mean.

您也可以使用某些语言的advanced (?x) syntax explained here.这是一个例子:

(?x:          # Find word-looking things without vowels,if they contain an "s"
   \b                       # word boundary
   [^b-df-hj-np-tv-z]*      # nonvowels only (zero or more)
   s                        # there must be an "s"
   [^b-df-hj-np-tv-z]*      # nonvowels only (zero or more)
   \b                       # word boundary
)

编辑:

正如Al所指出的,如果所有其他方法都失败,您也可以使用字符串连接.这是一个例子:

regex = ""          # Find word-looking things without vowels,if they contain an "s"
   + "\b"                       # word boundary
   + "[^b-df-hj-np-tv-z]*"      # nonvowels only (zero or more)
   + "s"                        # there must be an "s"
   + "[^b-df-hj-np-tv-z]*"      # nonvowels only (zero or more)
   + "\b";                      # word boundary

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐