Python Regexp在字符串的每一侧匹配相等数量的相同字符

Python Regexp在字符串的每一侧匹配相等数量的相同字符,python,regex,Python,Regex,在python中,如何在字符串的每一侧只匹配相同字符(最多3个)的相等数目 例如,假设我正在尝试匹配等号 =abc=或==abc==或==abc==== 但不是 =abc==或==abc= 等等 我知道如何处理每一个单独的案例,但似乎无法全部解决 (={1}(?=abc={1}))abc={1}) 作为相同字符的| (={1}(?=abc={1}))|(={2}(?=abc={2})))abc({1}|={2}) 似乎不起作用。考虑到示例是一个字符串,这里有一个非正则表达式方法(在许多其他方法中

在python中,如何在字符串的每一侧只匹配相同字符(最多3个)的相等数目

例如,假设我正在尝试匹配等号

=abc=
==abc==
==abc====

但不是

=abc==
==abc=

等等

我知道如何处理每一个单独的案例,但似乎无法全部解决

(={1}(?=abc={1}))abc={1})

作为相同字符的
|

(={1}(?=abc={1}))|(={2}(?=abc={2})))abc({1}|={2})


似乎不起作用。

考虑到示例是一个字符串,这里有一个非正则表达式方法(在许多其他方法中)


您说过要在每一侧匹配相等的字符,因此无论是什么字符,您只需检查
a
b
是否相等。

您将要使用反向引用。查看此帖子以获取示例:


使用以下正则表达式:

^(=+)abc\1$
编辑:

如果您说的是最多三个
=

^(={1,3})abc\1$

这不是一种常规语言。但是,您可以使用反向引用执行此操作:

(=+)[^=]+\1
(=+)[^=]+\1