我正在尝试使用正则表达式搜索字符串模式
但是由于我对正则表达式很陌生,所以我想就搜索模式提出一些建议
所以,我想找到一条具有“值”的行,因为下面的值可以是数字和字母
Name (value)
我尝试使用模式
re.search(r"Name \([a-zA-Z0-9]\)", line)
但它似乎没有像我预期的那样找到。
我应该如何编写搜索模式?谢谢!
您的表达很好,但您的字符组缺少量词:
re.search(r"Name \([a-zA-Z0-9]+\)", line)
意思是“+
至少其中一个”。如果您不输入量词,则意味着仅可能出现上述字符之一。可能的量词是:
+
对于一个或多个,?
至多一个和*
对于任何数量的那些{x,y}
也可以,至少表示x
,但最多y
表示字符量词总是指你放在它前面的东西,它可能是单个字符或包含在[]
.
编辑:正如root在评论中提到的,您可能想查看\w
,这是“所有单词字符”的简短表示法。它包括所有字母和数字,以及下划线和特殊字符(如果它们是由当前语言环境特别定义的)。