0

以下正则表达式确实匹配我正在寻找的内容,但它也会匹配以 gif|jpg|png 结尾的任何文件的所有文件扩展名(只是文件扩展名)

webcomic"\ssrc="http://www\.explosm\.net/[a-zA-Z/]+\.gif|png|jpg"\s

我在以下页面的来源上使用它,这是一个每天更新的网络漫画:

http://www.explosm.net/comics/

今天,最终目标将是以下,并且只有以下:

webcomic" src="http://www.explosm.net/db/files/Comics/Kris/lawyer.gif"

我只是用正则表达式弄湿了我的脚,浏览了一些网站,但无法弄清楚这一点。我不明白为什么只有文件扩展名被匹配,当它们的文件路径/url 与我的模式的其余部分不匹配时。

任何帮助表示赞赏

4

3 回答 3

2

好吧,我突然想到的问题就到此为止了。gif|png|jpg真的应该是(gif|jpg|png)- 与你现在所拥有的一样,字符串可以匹配webcomic"\ssrc="http://www\.explosm\.net/[a-zA-Z/]+\.gif,或者它可以只匹配pngor jpg"\s。使用括号,它将匹配webcomic"\ssrc="http://www\.explosm\.net/[a-zA-Z/]+\.后跟 ( giforjpgpng),然后是"\s.

于 2013-09-06T19:12:01.493 回答
0

我会尝试这样的正则表达式:

\shttp://www.explosm.net\/[a-zA-Z]+\.(gif|png|jpg|jpeg)\s

于 2013-09-06T19:22:42.703 回答
0

最后一点

gif|png|jpg

意思是“匹配三个中的任何一个”。如果希望它只匹配 gif,只写 gif。

于 2013-09-06T19:11:36.460 回答