Python正则表达式匹配文字星号

2024-03-28 20:47:13 发布

您现在位置:Python中文网/ 问答频道 /正文

给定以下字符串:

s = 'abcdefg*'

我如何匹配它或任何其他只有小写字母和可选以星号结尾的字符串?我原以为下面的方法行得通,但实际上不行:

re.match(r"^[a-z]\*+$", s)

它给出None而不是匹配对象。


Tags: 对象方法字符串renonematch结尾星号
3条回答
re.match(r"^[a-z]+\*?$", s)

[a-z]+匹配小写字母序列,\*?匹配可选文本*chatacter。

\*?表示0或1星号:

re.match(r"^[a-z]+\*?$", s)

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)
  1. ^与字符串的开头匹配。
  2. [a-z]+匹配一个或多个小写字母。
  3. [*]?匹配零个或一个星号。
  4. $匹配字符串的结尾。

原始regex只匹配一个小写字符,后跟一个或多个星号。

相关问题 更多 >