我试图在正则表达式中匹配*=
、&=
、+=
、-=
、|=
、和{},但由于某些原因,下面的模式同时接受<=
和{}:
modifyPat = re.compile('\s*[&\|\*/%\+-^]*=[^=]*')
我做了一些挖掘,发现问题是由于在模式中包含^
字符而引起的。例如,如果我像下面的模式那样删除^
,那么我会得到预期的匹配行为,但是当然会丢失与{}匹配的能力:
^{pr2}$
这是怎么回事,有没有什么方法可以包含^
字符来匹配^=
,而不必像我所希望的那样匹配<=
和{}?在
Tags:
定义集合的方式有很大的自由度,并且有自己的元语法:
这意味着ASCII表中}之间的所有字符,这是很多字符,包括}以及所有字母。在
+
和{<
和{要修复它:
^{pr2}$逃避任何不规则的事情通常是一个好主意,即使不是绝对必要的。在
相关问题 更多 >
编程相关推荐