最近用curl抓取了一个网页,然后匹配正则的时候匹配好很久返回结果都为空,用了正则表达式测试工具测试,发现正则表达式是没问题的,于是返回查看抓取的网页代码,发现源码是没有双引号的,去掉正则表达式中的双引号,匹配成功了。这样的问题搞了这么久,无语。

用久了curl后发现curl也就是配置几个参数,这里写的是get方法,post方法另外再写了

$ch=curl_init();
$url="http://i.cnblogs.com/"; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,false); //exec的时候结果是否打印出来 $result=curl_exec($ch); curl_close($ch); var_dump($result);

 写正则表达式总有点糊涂,这里也总结出来

.	匹配除换行符以外的任意字符
\w	匹配字母或数字或下划线或汉字【应该是word的首字母】
\s	匹配任意的空白符    【space首字母】
\d	匹配数字          【英文Digital的首位字母吧】
\b	匹配单词的开始或结束 【begin首字母】
^	匹配字符串的开始
$	匹配字符串的结束


*	重复零次或更多次
+	重复一次或更多次
?	重复零次或一次
{n}	重复n次
{n,}	重复n次或更多次
{n,m}	重复n到m次

//反义
\W	匹配任意不是字母,数字,下划线,汉字的字符
\S	匹配任意不是空白符的字符
\D	匹配任意非数字的字符
\B	匹配不是单词开头或结束的位置
[^x]	匹配除了x以外的任意字符
[^aeiou]	匹配除了aeiou这几个字母以外的任意字符

  匹配多行的正则表达式[\w\W]*?