2011-04-28 60 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 
相關問題