我解決一個Python挑戰問題找到的文本塊在這樣的大塊格式XXXXXXXXX(下VS大寫,不是所有X):正則表達式表達不匹配正確
jdskvSJNDfbSJneSfnJDKoJIWhsjnfakjn
我測試了以下正則表達式,並發現它正確地匹配我從本網站尋找的內容(http://www.regexr.com/):
'([az])([AZ]){3}([az])([AZ ]){3}([az])'
但是,當我嘗試匹配此表達式爲文本塊,它只是返回整個字符串:
In [1]: import re
In [2]: example = 'jdskvSJNDfbSJneSfnJDKoJIWhsjnfakjn'
In [3]: expression = re.compile(r'([a-z])([A-Z]){3}([a-z])([A-Z]){3}([a-z])')
In [4]: found = expression.search(example)
In [5]: print found.string
jdskvSJNDfbSJneSfnJDKoJIWhsjnfakjn
任何想法?我的表情不正確?此外,如果有更簡單的方式來表示該表達式,請隨時通知我。我對RegEx相當陌生。
文本夾頭沒有匹配的子字符串。 – hwnd 2014-09-27 20:55:26
你在哪些文本上運行它?如果你在你給的例子(uBRrJZ ...)上運行它,那麼你會得到None,因爲hwnd說這個字符串中沒有類似的組。 – BrenBarn 2014-09-27 20:56:34
對,我知道我給的例子沒有。全文長度爲100,000個字符,所以我只貼了一個樣本。應該只有一個匹配。剛剛編輯了一個不同的樣本,確實有這種模式(nJDKoJIWh) – emilylinndb 2014-09-27 21:00:20