2024-03-28 20:47:13 发布
网友
给定以下字符串:
s = 'abcdefg*'
我如何匹配它或任何其他只有小写字母和可选以星号结尾的字符串?我原以为下面的方法行得通,但实际上不行:
re.match(r"^[a-z]\*+$", s)
它给出None而不是匹配对象。
None
re.match(r"^[a-z]+\*?$", s)
[a-z]+匹配小写字母序列,\*?匹配可选文本*chatacter。
[a-z]+
\*?
*
\*?表示0或1星号:
How can I match it or any other string only made of lowercase letters and optionally ending with an asterisk?
以下操作:
re.match(r"^[a-z]+[*]?$", s)
^
[*]?
$
原始regex只匹配一个小写字符,后跟一个或多个星号。
[a-z]+
匹配小写字母序列,\*?
匹配可选文本*
chatacter。\*?
表示0或1星号:以下操作:
^
与字符串的开头匹配。[a-z]+
匹配一个或多个小写字母。[*]?
匹配零个或一个星号。$
匹配字符串的结尾。原始regex只匹配一个小写字符,后跟一个或多个星号。
相关问题 更多 >
编程相关推荐