我想檢查字符串「tDDDDD」,其中D必須是數字,不應超過它的長度(最小4,最大5)。如何檢查python中的字符串格式?
不允許其他字符。
目前我的代碼檢查這樣的,
m = re.match('^(t)(\d+)', changectx.branch())
但也允許t12345anythingafterit。
我改變了正則表達式
'^(t)(\d\d\d\d)(\d)?$'
這是正確的或做的任何聰明的辦法?
我想檢查字符串「tDDDDD」,其中D必須是數字,不應超過它的長度(最小4,最大5)。如何檢查python中的字符串格式?
不允許其他字符。
目前我的代碼檢查這樣的,
m = re.match('^(t)(\d+)', changectx.branch())
但也允許t12345anythingafterit。
我改變了正則表達式
'^(t)(\d\d\d\d)(\d)?$'
這是正確的或做的任何聰明的辦法?
你的正則表達式的工作,但你也可以使用正則表達式:
r'^t\d{4,5}$'
的{4,5}
是一個量詞,這意味着前面的標識必須在4到5次發生。
如果您希望捕獲字符串的匹配部分,則只需在此處使用括號。
這個怎麼樣的正則表達式:
r'^t\d{4,5}$'
嘗試re.findall('^(t\d{4,5})', "t1234")
其中正則表達式 - ^(t\d{4,5})
{M,N}從米匹配前述RE的n個重複。
既然你說的數字是最小4和最大5這裏,m = 4 & n = 5。
試試這個
>>> x="t12345anythingafterit."
>>> re.findall("^t\d{4,5}$",x)
[]
>>> x="t12345"
>>> re.findall("^t\d{4,5}$",x)
['t12345']
>>> x="t1234"
>>> re.findall("^t\d{4,5}$",x)
['t1234']
>>> x="t123"
>>> re.findall("^t\d{4,5}$",x)
[]