Python regex在搜索和查找之间的区别

2024-09-30 10:40:57 发布

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

我尝试在URL字符串上使用python正则表达式。在

id= 'edu.vt.lib.scholar:http/ejournals/VALib/v48_n4/newsome.html'
>>> re.search('news|ejournals|theses',id).group()
'ejournals'
>>> re.findall('news|ejournals|theses',id)
['ejournals', 'news']

基于http://docs.python.org/2/library/re.html#finding-all-adverbs处的文档,它表示search()匹配第一个文档,并查找所有匹配字符串中所有可能的文档。在

我想知道为什么“news”没有被搜索捕获,即使它是在模式中首先声明的。在

我用错图案了吗?我想搜索这些关键字是否出现在字符串中。在


Tags: 字符串文档reidhttpurlsearchlib
3条回答

请注意,在搜索findall之间还有一些其他的区别,这里没有说明。 例如:

python-regex why findall find nothing, but search works?

你在倒转。regex遍历目标字符串寻找"news""ejournals"或{},并返回找到的第一个。在这种情况下,"ejournals"首先出现在目标字符串中。在

re.search()函数在满足条件的第一次出现后停止,而不是模式中的第一个选项。在

相关问题 更多 >

    热门问题