Home > Backend Development > PHP Tutorial > 正则有关问题来一发

正则有关问题来一发

WBOY
Release: 2016-06-13 12:03:28
Original
937 people have browsed it

正则问题来一发
问了下老徐,不过老徐最近很忙显然消息也没时间看,那就发出来给大家研究研究

能匹配以下两种情况,不是其中之一... 

http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg.thumb0608f2.jpg http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg
------解决方案--------------------
/^http://www.uploadfr.com/images/\d{4}/(\d{2}/){2}\S*.jpg$/
------解决方案--------------------

<br /><?php<br /><br />$str1 = 'http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg.thumb0608f2.jpg';<br />$str2 = 'http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg';<br /><br />$pattern = '/^http:\/\/www\.uploadfr\.com\/images\/(\d{4})\/(\d{2})\/(\d{2})\/([a-z0-9]+)\.(jpg<br><font color='#FF8000'>------解决方案--------------------</font><br>png<br><font color='#FF8000'>------解决方案--------------------</font><br>gif<br><font color='#FF8000'>------解决方案--------------------</font><br>jpeg)(\.thumb([a-z0-9]{6})\.\\5)?$/';<br /><br />preg_match($pattern, $str1, $match1);<br />preg_match($pattern, $str2, $match2);<br /><br />print_r($match1);<br />print_r($match2);<br />
Copy after login

------解决方案--------------------
看看是不是这样,因为不知道你要匹配的精度,先写了一个。
<br />$content=<<<TXT<br />字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字字http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg.thumb0608f2.jpg字字字字字字字字字字字字字字字字http://www.uploadfr.com/images/2014/03/20/204417dydmmeowem3mlnl0.jpg字字字字字字字字字字字字字字字字<br />TXT;<br /><br />preg_match_all('/http:\/\/www.uploadfr.com\/images\/\d{4}\/\d{2}\/\d{2}\/\d{6}.*?jpg(\.thumb[a-z0-9]{6}\.jpg)?/si', $content, $matches);<br /><br />print_r($matches[0]);<br />
Copy after login

不知道dydmmeowem3mlnl0这个你需要匹配吗?如果要改成这样
preg_match_all('/http:\/\/www.uploadfr.com\/images\/\d{4}\/\d{2}\/\d{2}\/\d{6}[a-z0-9]{16}\.jpg(\.thumb[a-z0-9]{6}\.jpg)?/si', $content, $matches);

------解决方案--------------------
1、我没有收到你的消息
2、这样的规则串 '#http://\S+\.jpg\b#' 不可以吗
------解决方案--------------------

引用:
1、我没有收到你的消息
2、这样的规则串 '#http://\S+\.jpg\b#' 不可以吗

他肯定有特殊要求,又没说明白。
发个问题都没发清楚,该批评。
------解决方案--------------------
应该没有特别要求,只不过第一种情况多了一段以 jpg 结尾的串
这样就不能使用非贪婪模式了

引用:
Quote: 引用:

1、我没有收到你的消息
2、这样的规则串 '#http://\S+\.jpg\b#' 不可以吗

他肯定有特殊要求,又没说明白。
发个问题都没发清楚,该批评。

------解决方案--------------------
表示关注一下
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template