0

我正在尝试使用正则表达式搜索字符串模式

但是由于我对正则表达式很陌生,所以我想就搜索模式提出一些建议

所以,我想找到一条具有“值”的行,因为下面的值可以是数字和字母

Name (value)

我尝试使用模式

re.search(r"Name \([a-zA-Z0-9]\)", line)

但它似乎没有像我预期的那样找到。

我应该如何编写搜索模式?谢谢!

4

1 回答 1

6

您的表达很好,但您的字符组缺少量词:

re.search(r"Name \([a-zA-Z0-9]+\)", line)

意思是“+至少其中一个”。如果您不输入量词,则意味着仅可能出现上述字符之一。可能的量词是:

  • +对于一个或多个,
  • ?至多一个和
  • *对于任何数量的那些
  • {x,y}也可以,至少表示x,但最多y表示字符

量词总是指你放在它前面的东西,它可能是单个字符或包含在[].

编辑:正如root在评论中提到的,您可能想查看\w,这是“所有单词字符”的简短表示法。它包括所有字母和数字,以及下划线和特殊字符(如果它们是由当前语言环境特别定义的)。

于 2013-01-29T20:10:53.893 回答