“^”字符与Python正则表达式中的“<”和“>”匹配

2024-10-02 16:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在正则表达式中匹配*=&=+=-=|=、和{},但由于某些原因,下面的模式同时接受<=和{}:

modifyPat = re.compile('\s*[&\|\*/%\+-^]*=[^=]*')

我做了一些挖掘,发现问题是由于在模式中包含^字符而引起的。例如,如果我像下面的模式那样删除^,那么我会得到预期的匹配行为,但是当然会丢失与{}匹配的能力:

^{pr2}$

这是怎么回事,有没有什么方法可以包含^字符来匹配^=,而不必像我所希望的那样匹配<=和{}?在


Tags: 方法re模式原因能力字符compile我会
1条回答
网友
1楼 · 发布于 2024-10-02 16:27:27

定义集合的方式有很大的自由度,并且有自己的元语法:

[+-^]

这意味着ASCII表中+和{}之间的所有字符,这是很多字符,包括<和{}以及所有字母。在

要修复它:

^{pr2}$

逃避任何不规则的事情通常是一个好主意,即使不是绝对必要的。在

相关问题 更多 >