正则表达式解决-判断上传文件后缀|Mysql批量替换的方法

很巧,今天被问及的问题中有两个我都给出了相同的答案:用正则表达式
于是很有必要记录一下。友友们遇到别人问,也可以这样回答。
问1:4G容量的SQL数据库,怎样查找到所有 http://www.***.net 都替换成http://zlz.im?
问2:怎样判断上传文件的格式,及后缀名是图片格式?
PS:这两个题都有很多解法,但我当时脑子涌现出来的就是正则表达式,哈哈。
做的不好,见谅哈,呼呼~~
解1:
mysql> SELECT * FROM db WHERE name REGEXP ‘\bhttp://\b.*\b\.net\b‘;
UPDATE ‘cdb_pms’ SET ’subject’ = 
REPLACE(`subject`, ‘http://www.***.net’, ‘http://zlz.im’)
解2:
var arr = ["hzlzh.jpg","hzlzh.gif","hzlzh.doc"];
var REGEXP = /(.*)+\.(jpg|bmp|gif|png)$/i;  
for(var i=0,j=arr.length;i++)
alret(REGEXP.test(arr));
$file_arr=explode(".",$filename); //以 . 号分割文件名
$arr_i=count($file_arr)-1;    //取最后一个字符串位置
$ext=strtolower($file_arr[$arr_i]); //得到后缀
$pos=strrpos($filename,"."); //得到路径中后缀的开始位置
$ext=substr($filename,$pos); // 取得后缀,包括点号
总结一下,正则表达式真是万恶的强大啊,哈哈,还好我看过。
写好表达式,可以去regexpal.com 测试下,这个在线工具也是很强大啊!
 
版权所有© HzlzH | 本文采用 BY-NC-SA 进行授权
转载需注明 转自: 《正则表达式解决-判断上传文件后缀|Mysql批量替换的方法

相关文章

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)