一个正则表达式的写法 你没有理解正则里中括号[]的含义,[]里所有的东西匹配的时候只“消耗”单个字符。除xxx之外的需求一般用“否定前瞻”(negative lookahead) 来实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str='[movie=http://a.com/a.mp3]';$ptn="/\[movie\=.*\.[^(mp3|wmv)]+\]/i"; if(preg_match($ptn,$str)) { echo 'Y';} else { echo 'N';} <?php$str='[movie=http://a.com/a.mp3]'; //X格式为除了.mp3和.wmv以外的任何字符串$ptn="/\[movie\=.*(?<!mp3|wmv)]$/";$str=preg_replace($ptn,'x',$str);echo $str; ?> <?php$str='[movie=http://a.com/a.mp3]';//$str='[movie=http://a.com/a.mp]';$ptn="/\[movie\=(?>.*\.)(?:(?!mp3|wmv).+)\]/";if(preg_match($ptn,$str,$g)) { echo 'Y'; print_r($g);} else { echo 'N';}?> 关于html与mysql的交互,语言是php 购买信息港程序 去掉extension前面的分号,phpinfo()中mssql不显示而且该类库函数全部用不了 关于php读取文件中tab分隔的字符串的问题。 【php】取得查询数据库的时间 问一个棘手得问题,关于流媒体文件访问控制的 php如何识别输入的数据中的回车和换行 下载的问题,有人遇到过这样的问题吗? 刚入门,请教一个关于数据传递的问题!! AJAX交互中的数据编码问题(前端页面gbk,后端返回为utf-8,ajax获取响应utf-8) 怎么统计一天内的有效回复 请教如何解决textarea提交大量数据发生丢失
$ptn="/\[movie\=.*\.[^(mp3|wmv)]+\]/i"; if(preg_match($ptn,$str)) {
echo 'Y';
} else {
echo 'N';
}
$str='[movie=http://a.com/a.mp3]'; //X格式为除了.mp3和.wmv以外的任何字符串
$ptn="/\[movie\=.*(?<!mp3|wmv)]$/";
$str=preg_replace($ptn,'x',$str);
echo $str;
?>
$str='[movie=http://a.com/a.mp3]';
//$str='[movie=http://a.com/a.mp]';
$ptn="/\[movie\=(?>.*\.)(?:(?!mp3|wmv).+)\]/";if(preg_match($ptn,$str,$g)) {
echo 'Y';
print_r($g);
} else {
echo 'N';
}
?>