我尝试在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”没有被搜索捕获,即使它是在模式中首先声明的。在
我用错图案了吗?我想搜索这些关键字是否出现在字符串中。在
请注意,在搜索和findall之间还有一些其他的区别,这里没有说明。 例如:
python-regex why findall find nothing, but search works?
你在倒转。regex遍历目标字符串寻找},并返回找到的第一个。在这种情况下,
"news"
或"ejournals"
或{"ejournals"
首先出现在目标字符串中。在re.search()
函数在满足条件的第一次出现后停止,而不是模式中的第一个选项。在相关问题 更多 >
编程相关推荐