首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP正则表达式帮助-在正则表达式中间搜索字符串

PHP正则表达式帮助-在正则表达式中间搜索字符串
EN

Stack Overflow用户
提问于 2019-01-07 22:11:24
回答 3查看 88关注 0票数 0

我的正则表达式需要一点帮助。

Haystack是整个页面的源码。我正在寻找的链接有jpg和jpeg在末尾和"pdp-zoom“在中间的某个地方。

如下所示的链接:

https://mosaic04.ztat.net/vgs/media/packshot/pdp-zoom/BR/71/1A/01/7Q/11/BR711A017-Q11@4.jpg

或者这样:

代码语言:javascript
复制
//mosaic04.ztat.net/vgs/media/packshot/pdp-zoom/BR/71/1A/01/7Q/11/BR711A017-Q11@4.jpg

我有:

代码语言:javascript
复制
(http)?s?:?(\/\/[^,|"\']*\.(?:jpg|jpeg))

并且需要集成那个"pdp-zoom“。

我在php5.6和preg_match_all中使用了它。

EN

回答 3

Stack Overflow用户

发布于 2019-01-07 22:19:02

使用以下命令:

代码语言:javascript
复制
(https?:)?//[^'"\s]*/pdp-zoom/[^'"\s]*\.jpe?g

说明:

代码语言:javascript
复制
(https?:)?          # http: or https:, optional
//                  # double slashes
[^'"\s]*            # 0 r more any character that is not quotes or spaces
/pdp-zoom/          # literally /pdp-zoom/
[^'"\s]*            # 0 r more any character that is not quotes or spaces
\.                  # a dot
jpe?g               # jpeg or jpg

Demo

票数 2
EN

Stack Overflow用户

发布于 2019-01-07 22:16:53

试试正则表达式:(?:http(?:s)?:)?\/\/[^,|"\']+?\/pdp-zoom\/[^,|"\']+?\.(?:jpg|jpeg)

Demo

票数 0
EN

Stack Overflow用户

发布于 2019-01-08 00:22:25

您可以使用此正则表达式,

代码语言:javascript
复制
(https?)?:?\/\/.*?pdp-zoom.*?\.jpe?g(?=\s|$)

只有当其中包含pdp-zoom并且以jpgjpeg结尾时,它才会完全匹配URL。

在这里,这个超前的(?=\s|$)确保URL完全匹配,而不是部分匹配像这样的更大的字符串。

https://mosaic04.ztat.net/abcpdp-zoom/abc.jpg/BR711A017-Q11@4.jpg

如果我们不在正则表达式中放入look ahead,那么正则表达式将部分匹配,并在上面的字符串上给出这个URL,

代码语言:javascript
复制
https://mosaic04.ztat.net/abcpdp-zoom/abc.jpg

这是不正确的,因此需要向前看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54075990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档