Sublime Text在python中对regex的语法高亮显示泄漏到了周围的cod中

2024-05-02 13:30:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,崇高的文本应该是所有的编辑。当我有这样的正则表达式时。在

listRegex = re.findall(r'[*][[][[].*', testString)

正则表达式后面的所有文本都将被错误地高亮显示,因为[[],特别是没有右括号的[。虽然这个正则表达式的意图是正确的,但是编辑并不知道这一点。在

我不知道该怎么处理这件事。有人知道怎么解决这个问题吗?在


Tags: 文本re编辑错误意图括号findallteststring
2条回答

虽然它不能真正回答您的问题,但您可以使用不同的正则表达式:

listRegex = re.findall(r'\*\[\[.*', testString)

或者您可以阻止任何regex高亮显示:

^{pr2}$

适当的解决方案

在第266行的.../Packages/Python/Regular Expressions (Python).tmLanguage中添加以下内容(第一个和第三个块是上下文):

<key>name</key>
<string>constant.other.character-class.set.regexp</string>
<key>patterns</key>
<array>
    <dict>
        <key>match</key>
        <string>\[</string>
    </dict>
    <dict>
        <key>include</key>
        <string>#character-class</string>
    </dict>

这是Sublime Text的Python语法Highlighter的一个已知错误,它只影响原始字符串。在

在正则表达式中,您可以通过两种方式匹配特殊字符:

  1. 用方括号括起来:[[]

  2. 用反斜杠转义:\[

第二个是首选,因此您可以将代码更改为:

listRegex = re.findall(r'\*\[\[.*', testString)

相关问题 更多 >