在http://gskinner.com/RegExr/(联机regex测试仪)上测试时,当jpg或bmp存在时,regex [jpg|bmp]
返回结果,但是,当我在python中运行此regex时,它只返回j或b。如何使regex将整个单词“jpg”或“bmp”包含在集合中?这可能是以前问过的,但我不知道如何构造问题来找到答案。谢谢!!!
这是全部的正则表达式,如果有帮助的话
"http://www\S*(?i)\\.(jpg|bmp|png|gif|img|jng|jpeg|jpe|gif|giff)"
基本上就是在url中查找图片
Tags:
用^{} 代替方括号。
方括号表示-匹配方括号中集合中的字符。
编辑-您可能需要这样的内容:^{} 或
[^ ].*?\.(jpg|bmp)
当您使用
[]
时,您正在创建一个字符类,该类包含方括号之间的所有字符。所以你不匹配
jpg
或bmp
你匹配的是j
或p
或g
或|
。。。您应该在regex中为字符串的结尾添加一个锚
如果你需要双重逃逸,那么你模式中的每一个地方
以确保它检查字符串末尾的文件。
如果您正在搜索URL列表
要查找与给定模式匹配的模式,可以使用:
它将输出
re.match()
将在字符串开头测试匹配,并返回前两个链接的匹配对象,第三个链接的匹配对象None
。如果您只获得扩展名,可以使用以下命令:
它将打印
您将只得到扩展,因为这是一个组的定义。
如果您需要在一长串文本(例如从wget返回的)中找到url,则需要使用
re.search()
,并用( )
括起您感兴趣的部分将打印
或者可以使用
re.findall
或re.finditer
代替re.search
来获取长响应中的所有URL。搜索将只返回第一个。相关问题 更多 >
编程相关推荐