Heim  >  Artikel  >  Backend-Entwicklung  >  正则有关问题来一发

正则有关问题来一发

WBOY
WBOYOriginal
2016-06-13 12:03:28930Durchsuche

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

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

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 />

------解决方案--------------------
看看是不是这样,因为不知道你要匹配的精度,先写了一个。
<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 />

不知道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#' 不可以吗

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

------解决方案--------------------
表示关注一下
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP随机生成随机数目的值解决思路Nächster Artikel:git 有关问题