在preg_match中使用通配符

时间:2016-12-17 08:22:41

标签: php regex preg-match

我用file_get_contents取了一些html把它放在一个字符串中。现在,我正试图在里面搜索。我想我应该使用通配符进行搜索,但我无法使用它。

我要搜索的html看起来像">2</td>,我想在数字位中使用通配符。

我认为我应该使用正则表达式,但我无法弄清楚如何使用它。

我的试用版似乎:

if (preg_match('/>(\w+)</td>/', $content, $matches)) {
    echo $matches[1];
}

如何在正则表达式中添加1的字符数限制,所以我最多只搜索3个字符,只搜索通配符的整数形式?

或者除了正则表达式之外还有更好的方法;寻找那些html字符串并将它们放在一个数组中?

1 个答案:

答案 0 :(得分:1)

你需要改变两件事。将\w替换为\d仅允许数字而不是每个单词字符。其次,将+替换为{1,3}。最后说需要一个最多三位数字。您的完整陈述将是:

if (preg_match('/>(\d{1,3})</td>/', $content, $matches)) {
    echo $matches[1];
}