我正在尝试学习Atom的语法突出显示/语法规则,这些规则大量使用JS正则表达式,并在
python grammar file中遇到了一个不熟悉的模式.
模式以(?x)开头,这对我来说是一个不熟悉的正则表达式.我在online regex tester中查了一下,似乎说这是无效的.我最初的想法是它代表了一个可选的左派,但我相信这些人应该在这里逃脱.
这只是Atom的coffeescript语法中的含义,还是我忽略了正则表达式的含义?
(这种模式也出现在我相信Atom来自的textmate language文件中).
如果在Python中处理该正则表达式,它将使用’verbose’标志进行编译.
原文链接:/regex/451913.html(?aiLmsux)
(One or more letters from the set ‘a’,‘i’,‘L’,‘m’,‘s’,
‘u’,‘x’.) The group matches the empty string; the letters set the
corresponding flags: re.A (ASCII-only matching),re.I (ignore case),
re.L (locale dependent),re.M (multi-line),re.S (dot matches all),
and re.X (verbose),for the entire regular expression. (The flags are
described in Module Contents.) This is useful if you wish to include the flags as part of the regular expression,instead of passing a flag argument to the re.compile() function.