python正则表达式,我该如何在括号中找到值

时间:2013-01-29 20:09:22

标签: python regex

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

但由于我对正则表达式不熟悉,我想就搜索模式提出一些建议

所以,我想找到一条具有'价值'的线,如下所示 值可以是数字和字母

Name (value)

我尝试使用模式

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

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

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

1 个答案:

答案 0 :(得分:6)

你的表情很好但是你的角色组缺乏量词:

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

+表示“至少其中一个”。如果您没有放置量词,则表示只会出现上述字符中的一个。可能的量词是:

  • +一个或多个,
  • ?最多只有一个
  • *任意数量
  • {x,y}也适用,至少意味着x,但最多只有y个字符

量词总是指你摆在它之前的东西,它可能是[]中包含的单个字符或字符组。

编辑 root 的评论中所述,您可能需要查看\w,这是“所有单词字符”的简短表示法。它包括所有字母和数字,以及下划线和特殊字符,如果它们是由当前区域设置特别定义的。