完全不懂正则,但最近一个小事情需要用到,求高手帮忙
目的是实现从html代码中,截取相关数字:
html代码如下,要截取的数字用红色标记
------解决方案--------------------
也不知道你那逗号到底是要还是不要...还是一个要一个不要...
- PHP code
$str = <<
HTML;
if (preg_match('/idArticleslist"\svalue="([\d\,]+)"/', $str, $match)) {
echo $match[1];
}
------解决方案--------------------
- PHP code
[liangdong@bb-browser-test00.vm.baidu.com php_project]$ php main.php
Array
(
[0] => 2425898
[1] => 2427913
)
[liangdong@bb-browser-test00.vm.baidu.com php_project]$ cat main.php
EOF;
$n = preg_match('/
------解决方案--------------------
PHP code
$s=<<
html;
preg_match('#(?<=idArticleslist).+?value="([^\"]+)"#s',$s,$m);
echo $m[1]; // 2425898,2427913,
------解决方案--------------------
正则:
正则就这么简单,需要转译的加一个反斜线,要匹配的都在括号里,防止匹配的太贪婪,你就告诉他[^"],意思是遇到双引号就匹配结束.这样就行了
给你推荐一个软件 RegexBuddy 这个软件用来测试正则表达式的,你可以借助它学一下正则,写程序不会正则是很麻烦的.