我正在尝试使用正则表达式搜索字符串模式
但由于我对正则表达式不熟悉,我想就搜索模式提出一些建议
所以,我想找到一条具有'价值'的线,如下所示 值可以是数字和字母
Name (value)
我尝试使用模式
re.search(r"Name \([a-zA-Z0-9]\)", line)
但它似乎没有像我预期的那样找到。
我应该如何编写搜索模式? 谢谢!
答案 0 :(得分:6)
你的表情很好但是你的角色组缺乏量词:
re.search(r"Name \([a-zA-Z0-9]+\)", line)
+
表示“至少其中一个”。如果您没有放置量词,则表示只会出现上述字符中的一个。可能的量词是:
+
一个或多个,?
最多只有一个*
任意数量{x,y}
也适用,至少意味着x
,但最多只有y
个字符量词总是指你摆在它之前的东西,它可能是[]
中包含的单个字符或字符组。
编辑如 root 的评论中所述,您可能需要查看\w
,这是“所有单词字符”的简短表示法。它包括所有字母和数字,以及下划线和特殊字符,如果它们是由当前区域设置特别定义的。