我对通常应该是所有编辑器的崇高文本有疑问。当我有这样的正则表达式时。
listRegex = re.findall(r'[*][[][[].*', testString)
正则表达式之后的所有文本都将错误地突出显示,因为[[]
, 特别是[
没有右括号。虽然这个正则表达式的意图是正确的,但编辑器并不知道这一点。
这只是我不知道如何处理的烦恼。有人知道怎么修这个东西吗?
我对通常应该是所有编辑器的崇高文本有疑问。当我有这样的正则表达式时。
listRegex = re.findall(r'[*][[][[].*', testString)
正则表达式之后的所有文本都将错误地突出显示,因为[[]
, 特别是[
没有右括号。虽然这个正则表达式的意图是正确的,但编辑器并不知道这一点。
这只是我不知道如何处理的烦恼。有人知道怎么修这个东西吗?
虽然它并不能真正回答您的问题,但您可以使用不同的正则表达式:
listRegex = re.findall(r'\*\[\[.*', testString)
或者您可以防止任何正则表达式高亮:
listRegex = re.findall(R'[*][[][[].*', testString)
在第 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 Syntax Highlighter 的一个已知错误,它只影响原始字符串。
顺便说一句,在正则表达式中,您可以通过两种方式匹配特殊字符:
将其括在方括号中:[[]
用反斜杠转义它:\[
第二个是首选,因此您可以将代码更改为:
listRegex = re.findall(r'\*\[\[.*', testString)