我正在学习Atom的语法高亮/语法规则,它们大量使用JS正则表达式,并在python语法文件中发现了一个陌生的模式。
该模式以(?x)
开头,这是一种对我来说不熟悉的正则表达式。我在一个在线正则表达式测试器中查找了它,似乎显示它是无效的。我的初步想法是它表示一个可选的左括号,但我认为这里的括号应该要转义。
这个模式只在Atom的coffeescript语法中有意义吗?还是我忽略了某个正则表达式的含义?
(我相信Atom的语法来源于textmate语言文件,该模式也出现在其中)。
我正在学习Atom的语法高亮/语法规则,它们大量使用JS正则表达式,并在python语法文件中发现了一个陌生的模式。
该模式以(?x)
开头,这是一种对我来说不熟悉的正则表达式。我在一个在线正则表达式测试器中查找了它,似乎显示它是无效的。我的初步想法是它表示一个可选的左括号,但我认为这里的括号应该要转义。
这个模式只在Atom的coffeescript语法中有意义吗?还是我忽略了某个正则表达式的含义?
(我相信Atom的语法来源于textmate语言文件,该模式也出现在其中)。
re
文档:x
修饰符的VERBOSE模式,无论是内联还是普通模式。import re
regex = r"""(?x)
\d+ # Digits
\D+ # Non-digits up to...
$ # The end of string
"""
print(re.search(regex, "My value: 56%").group(0)) # => 56%