如何在 .nanorc 文件中使用正则表达式捕获组?

灰狐

如何将 .nanorc 文件中的正则表达式捕获组与color选项结合使用

Nanorc文档描述颜色选项,用于创建语法高亮显示。

颜色 fgcolor,bgcolor 正则表达式

对于当前定义的语法,显示前景色为 fgcolor 和背景色为 bgcolor 的与扩展正则表达式正则表达式匹配的所有表达式,必须至少指定其中之一...

如果可以使用捕获组,使用以下正则表达式将允许我修复 nano.bashrc 语法突出显示文件中的一个恼人的错误,该错误会错误地突出显示注释,如下所示:

在此处输入图片说明

新的(工作)正则表达式是这样的:

{[^}]*}|\[[^\]]*\]|(#.*$)

它匹配(包括)大括号之间的所有内容,或(包括)方括号之间的所有内容,最后匹配#任何次数符号,直到行尾。仍在研究如何不匹配 # 如果前面有美元符号。

你可以在这里看到它的工作演示:https : //regexr.com/3tdqf

通过使用第一个捕获组作为颜色突出显示的过滤器,我希望能够仅突出显示实际评论!

是否可以?

编辑:我注意到可以根据文档提供用于颜色突出显示的开始模式和结束模式:

颜色 fgcolor,bgcolor start="sr" end="er"

显示以扩展正则表达式 sr 开头并以扩展正则表达式 er 结尾的表达式,前景色为 fgcolor,背景色为 bgcolor,必须至少指定其中之一。这允许语法突出显示跨越多行。请注意,在找到初始 sr 之后的所有后续 sr 实例都将突出显示,直到 er 的第一个实例。

也许这可以帮助解决我们的困境:S

重量

我遇到了这个问题,因为我正在寻找如何使用 Nano 来突出显示 C 中的函数。 正如上面的评论中提到的,Nano 使用 POSIX 扩展正则表达式 (ERE),而 ERE 没有前瞻或后视。解决方法依赖于 nanorc 颜色语法规则从上到下按顺序应用的事实。我们创建规则来捕获整个组,然后再深入;我们创建规则来改变我们不想要的字符的颜色。

## Comment
color green "#[#a-zA-Z0-9[:blank:]]*"
## Quoted text
color yellow "\"[^\"]*\""
## Allow commenting out a line of code
color green "^[[:blank:]]*#.*$"
## Braces
color blue "\{.*\}"
## Brackets
color blue "\[.*\]"

上面的代码与@GrayedFox here和@UnbearableLightness here给出的示例相匹配

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何限制正则表达式捕获组?

来自分类Dev

如何在yii中使用正则表达式

来自分类Dev

如何在python中使用正则表达式re.sub()可选匹配组?

来自分类Dev

如何在文件中使用::作为正则表达式的正则表达式serde

来自分类Dev

如何在angularjs中使用正则表达式

来自分类Dev

如何在Java中使用正则表达式非捕获组进行字符串替换

来自分类Dev

如何在Realm中使用正则表达式

来自分类Dev

如何在Java的正则表达式中使用OR?

来自分类Dev

如何在同一个正则表达式中使用捕获的组

来自分类Dev

如何在一个正则表达式中捕获所有正则表达式组?

来自分类Dev

如何在C ++中使用正则表达式换行后不捕获空格

来自分类Dev

如何在正则表达式中使用Unicode

来自分类Dev

如何在Linux中使用正则表达式捕获组重命名文件?

来自分类Dev

如何在熊猫替换功能中使用正则表达式捕获组

来自分类Dev

如何在docker-compose中使用正则表达式停止容器组

来自分类Dev

如何捕获正则表达式中的可选组?

来自分类Dev

正则表达式:如何添加捕获组?

来自分类Dev

如何在NiFi表达式语言中使用正则表达式捕获组变量?

来自分类Dev

如何在Python中使用分类正则表达式组

来自分类Dev

您如何在emacs中使用9个以上的正则表达式捕获组?

来自分类Dev

如何在python中使用正则表达式re.sub()可选匹配组?

来自分类Dev

如何在C ++中使用正则表达式标记化来捕获重复模式

来自分类Dev

如何获得正则表达式捕获组的价值?

来自分类Dev

如何在Linux中使用正则表达式捕获组重命名文件?

来自分类Dev

nano:如何取消.nanorc的选项?

来自分类Dev

使用多个 .nanorc 文件

来自分类Dev

正则表达式:如何在没有更多捕获组的情况下使用“或”?

来自分类Dev

如何在 bash 中正确使用正则表达式捕获组?

来自分类Dev

如何在正则表达式中使用 qantizer 通过重复模式获取组

Related 相关文章

  1. 1

    如何限制正则表达式捕获组?

  2. 2

    如何在yii中使用正则表达式

  3. 3

    如何在python中使用正则表达式re.sub()可选匹配组?

  4. 4

    如何在文件中使用::作为正则表达式的正则表达式serde

  5. 5

    如何在angularjs中使用正则表达式

  6. 6

    如何在Java中使用正则表达式非捕获组进行字符串替换

  7. 7

    如何在Realm中使用正则表达式

  8. 8

    如何在Java的正则表达式中使用OR?

  9. 9

    如何在同一个正则表达式中使用捕获的组

  10. 10

    如何在一个正则表达式中捕获所有正则表达式组?

  11. 11

    如何在C ++中使用正则表达式换行后不捕获空格

  12. 12

    如何在正则表达式中使用Unicode

  13. 13

    如何在Linux中使用正则表达式捕获组重命名文件?

  14. 14

    如何在熊猫替换功能中使用正则表达式捕获组

  15. 15

    如何在docker-compose中使用正则表达式停止容器组

  16. 16

    如何捕获正则表达式中的可选组?

  17. 17

    正则表达式:如何添加捕获组?

  18. 18

    如何在NiFi表达式语言中使用正则表达式捕获组变量?

  19. 19

    如何在Python中使用分类正则表达式组

  20. 20

    您如何在emacs中使用9个以上的正则表达式捕获组?

  21. 21

    如何在python中使用正则表达式re.sub()可选匹配组?

  22. 22

    如何在C ++中使用正则表达式标记化来捕获重复模式

  23. 23

    如何获得正则表达式捕获组的价值?

  24. 24

    如何在Linux中使用正则表达式捕获组重命名文件?

  25. 25

    nano:如何取消.nanorc的选项?

  26. 26

    使用多个 .nanorc 文件

  27. 27

    正则表达式:如何在没有更多捕获组的情况下使用“或”?

  28. 28

    如何在 bash 中正确使用正则表达式捕获组?

  29. 29

    如何在正则表达式中使用 qantizer 通过重复模式获取组

热门标签

归档