如何在python中检查字符串格式?

Kan*_*yan 3 python regex

我想检查字符串"tDDDDD",其中D必须是数字,并且不应超过它的长度(最小4,最大5).

不允许其他角色.

目前我的代码检查是这样的,

m = re.match('^(t)(\d+)', changectx.branch())
Run Code Online (Sandbox Code Playgroud)

但也允许t12345anythingafterit.

我将正则表达式更改为

'^(t)(\d\d\d\d)(\d)?$'
Run Code Online (Sandbox Code Playgroud)

这是正确的还是任何聪明的方式?

Mar*_*ers 7

您的正则表达式将起作用,但您也可以使用此正则表达式:

r'^t\d{4,5}$'
Run Code Online (Sandbox Code Playgroud)

{4,5}是一个量词,表示前一个令牌必须发生4到5次.

如果您希望捕获字符串的匹配部分,则仅在此处使用括号.