首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Regex -非1的字符串中的数字

Regex -非1的字符串中的数字
EN

Stack Overflow用户
提问于 2011-12-29 23:23:00
回答 4查看 105关注 0票数 0

需要一个正则表达式来获取线程中的页数:

示例url : traidnt.net/vb/f25

我试过这个:

代码语言:javascript
运行
复制
'~<td class="vbmenu_control" style="font-weight:normal">.*([2-9]{1}|[0-9]{2,}).*</td>~isU' 

但这行不通。

感谢你

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-29 23:27:19

代码语言:javascript
运行
复制
/.*?([0-9]{2,}|[2-9]{1}).*/s

匹配大于1的一位数或任何多位数。

请注意,这在以下情况下不正确匹配:“第1页,共1页”

如果字符串是固定的,你最好使用:

代码语言:javascript
运行
复制
/page \d+ of (\d+) pages/is

或者,如果字符串不是绝对固定的,但您想要字符串中的第二个数字,则可以使用:

代码语言:javascript
运行
复制
/\D*(\d+)\D*(\d+)\D*/s

并使用第二个子匹配。(当“第1页,共1页”时也将正确匹配。

票数 2
EN

Stack Overflow用户

发布于 2011-12-29 23:27:04

您可以使用\d+匹配数字,使用否定断言(?!...)排除某些内容。通常你需要一些锚点来让它可靠地工作,这里是单词边界:

代码语言:javascript
运行
复制
/\b(?!1\b)\d+\b/
票数 1
EN

Stack Overflow用户

发布于 2011-12-29 23:25:49

这将查找不是1的所有数字:

代码语言:javascript
运行
复制
/[^\D1]/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8669649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档