加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:16:35 所属栏目:安全 来源:网络整理
导读:每当我看到任何复杂的正则表达式时,我的眼睛就会开始流水.是否有任何现有的解决方案为正则表达式中的不同类型的符号赋予不同的颜色? 理想情况下,我希望对文字字符,转义序列,类代码,锚点,修饰符,前瞻等进行不同的突出显示.显然,语法会在不同语言之间略有变化
每当我看到任何复杂的正则表达式时,我的眼睛就会开始流水.是否有任何现有的解决方案为正则表达式中的不同类型的符号赋予不同的颜色?

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

奖励积分如果这可以某种方式与语法突出显示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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读