需要一个正则表达式来获取线程中的页数:
示例url : traidnt.net/vb/f25
我试过这个:
'~<td class="vbmenu_control" style="font-weight:normal">.*([2-9]{1}|[0-9]{2,}).*</td>~isU' 但这行不通。
感谢你
发布于 2011-12-29 23:27:19
/.*?([0-9]{2,}|[2-9]{1}).*/s匹配大于1的一位数或任何多位数。
请注意,这在以下情况下不正确匹配:“第1页,共1页”
如果字符串是固定的,你最好使用:
/page \d+ of (\d+) pages/is或者,如果字符串不是绝对固定的,但您想要字符串中的第二个数字,则可以使用:
/\D*(\d+)\D*(\d+)\D*/s并使用第二个子匹配。(当“第1页,共1页”时也将正确匹配。
发布于 2011-12-29 23:27:04
您可以使用\d+匹配数字,使用否定断言(?!...)排除某些内容。通常你需要一些锚点来让它可靠地工作,这里是单词边界:
/\b(?!1\b)\d+\b/发布于 2011-12-29 23:25:49
这将查找不是1的所有数字:
/[^\D1]/https://stackoverflow.com/questions/8669649
复制相似问题