2011-10-17 24 views
1

如果我有,例如,下面的正則表達式的字符串:確定一個正則表達式匹配中的一組是一個數字

'^/abc/(?P<some_int>\d{3})/\d{0,2}/$' 

有一種簡單的方法來確定當一組是多少/ INT?


我知道它是一個int,但是說這需要在其他地方處理,它只需要從匹配對象中推導出來。

+0

爲什麼你需要*確定*,如果你已經*相匹配的數量將只匹配*它?我很困惑:) –

+0

如果你可以澄清你試圖確保沒有通過,這可能會幫助你的問題得到答案 –

+0

我有一種方法可以處理各種不同的匹配,然後調用函數(s)使用該組值作爲函數參數。由於處理方法對於各種正則表達式都這樣做,所以我希望能夠將數字的組傳遞給相應的處理方法,這樣可以避免將這些數據全部轉換。 – Justin

回答

3
m.group(WHICHEVER_YOU_WANT).isdigit() 
+0

字符串也已經有了''isdigit()'](http://docs.python.org/library/stdtypes.html#str.isdigit)方法,或多或少地做到這一點。 – jathanism

+0

@jathanism:好點。 –

+0

箱子外面的好思維:)我非常專注於嘗試使用正則表達式對象提供的信息,我完全忘記了'isdigit' ..謝謝。 – Justin

1

您與\d{3}匹配它,如果它是一個有三個數字(包括前導零)

+0

是的,我知道它實際上是一個數字,因爲它通過了exp。我正在尋找的是如果一些不相關的代碼收到匹配,它可以確定哪些組匹配爲數字,只使用正則表達式匹配/組對象。 – Justin

相關問題