在Python程序中尝试使用一些Javascript正则表达式模式时,我遇到了一种奇怪的[^]
模式(较长模式的一部分,如"<[^]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)"
)。
这种模式意味着什么?为什么要想否定一个空字符类?!
答案 0 :(得分:1)
在JavaScript中,[^]
表示any character
。
但是,建议您使用[\s\S]
代替。
在Python中,它会抛出异常([^ Incomplete character class
),您最好将.
与re.DOTALL
(或re.S
)标记一起使用,或[\s\S]
字符类。