2016-09-04 46 views
0

我有以下字符串匹配號碼 '<<'(正則表達式)

所有文件| 100 < < 222 >>

而且想匹配我怎麼能做到這一點<< >>

之間有多少?

到目前爲止,我嘗試這樣表達(?<<)(.*?)(?>>)

+0

你可以嘗試(?<= <<)(.\d+)(?=>>),它爲我工作。 –

回答

3

的問題是,<是一個特殊字符,需要進行轉義。此外,第一和第三組中的?無效:

(\<\<)(?P<number>\d*?)(\>\>) 

此外,我命名與數的組,並用於\d匹配位數代替*。我測試了它here

+0

謝謝你的工作 – lasante23

+0

你的確切解決方案+1。 –

1

試試這個,

In [1]: match = re.compile(r'<<(\d+)>>') 
In [2]: match.findall('100 <<222>>') 
Out[2]: ['222'] 

正則表達式模式

<<(\d+)>> 

Regular expression visualization

Demo