2011-04-28 24 views
2

如何匹配python中字符串每一侧的相同字符(最多3个)的相同数字?正则表达式匹配字符串每一侧上相同字符的相同数字

例如,假设我想匹配等号

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

但不

=abc====abc=

我想通了解如何去做每个人ual的情况下,但似乎无法得到所有的人。

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

为相同的字符

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

似乎并没有工作的|

回答

4

使用下面的正则表达式:

^(=+)abc\1$ 

编辑:

如果你谈论的是只有最高3 =

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

认为样品是一个字符串,这里有一个非正则表达式的方法(出许多其他的)

>>> string="===abc===" 
>>> string.replace("abc"," ").split(" ") 
['===', '==='] 
>>> a,b = string.replace("abc"," ").split(" ") 
>>> if a == b: 
... print "ok" 
... 
ok 

你说你想在每边匹配相等的字符,所以无论什么人物,你只需要检查ab是否相等。

2

这不是一种常规的语言。但是,您可以使用反向引用:

(=+)[^=]+\1 
相关问题