Python Regexp在字符串的每一侧匹配相等数量的相同字符
在python中,如何在字符串的每一侧只匹配相同字符(最多3个)的相等数目 例如,假设我正在尝试匹配等号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}) 似乎不起作用。考虑到示例是一个字符串,这里有一个非正则表达式方法(在许多其他方法中
=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