'^'字符匹配'<'和'>'在Python正则表达式中

时间:2017-02-15 19:29:24

标签: python regex python-2.7

我正在尝试在正则表达式中与Counter()*=&=+=-=|=进行匹配,但出于某种原因,以下模式同时接受^=<=

>=

我做了一些挖掘,发现由于在模式中包含modifyPat = re.compile('\s*[&\|\*/%\+-^]*=[^=]*') 字符而出现问题。例如,如果我删除^,如下面的模式,我会得到预期的匹配行为,但当然会失去与^的匹配能力:

^=

这里发生了什么,是否有任何方法可以包含modifyPat = re.compile('\s*[&\|\*/%\+-]*=[^=]*') 字符以匹配^而不匹配^=<=。希望?

1 个答案:

答案 0 :(得分:6)

定义方式集有很多自由度,并且有自己的方法:

[+-^]

这表示ASCII表格中+^之间的所有字符,其中很多字符包括<>以及所有字母。

修复它:

[\+\-\^]

即使不是非常必要,也可以逃避任何不规则的事情。