很巧,今天被问及的问题中有两个我都给出了相同的答案:用正则表达式于是很有必要记录一下。友友们遇到别人问,也可以这样回答。
问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 测试下,这个在线工具也是很强大啊!