求正则表达式提取字符串中第四位数字

12a21b4c51da4b23c7d1234字符串如上,求两个正则表达式:提取第四个数字,以上例子提取效果是51和1234提取第二个数字,以上例子的提取效果是21和23... 12a21b4c51d
a4b23c7d1234
字符串如上,求两个正则表达式:
提取第四个数字,以上例子提取效果是51和1234
提取第二个数字,以上例子的提取效果是21和23
展开
 我来答
Zjmainstay
2015-02-04 · 知道合伙人互联网行家
Zjmainstay
知道合伙人互联网行家
采纳数:580 获赞数:1129
http://www.zjmainstay.cn

向TA提问 私信TA
展开全部
原理:匹配需要匹配第N个数字时,(数字+非数字)N-1次+数字,最后的数字即为结果。

提取第四个数字(?:\d+[^\d\r\n]+){3}(\d+).*\b
{3}的3=4-1

提取第二个数字:(?:\d+[^\d\r\n]+){1}(\d+).*\b
{1}的1=2-1

如果上面数值提取是一行一次匹配,那.*\b可以移除。
更多追问追答
追问
感谢哈~
不过你这个只匹配了数字开头的字符串吧,还有字母开头的字符串没匹配到呢
而且我需要的是只提取第四个数字,其他字母和数字都不要的
我刚用你给的表达式去网站测过了,是把整个字符串都拿过来了
追答
不是只匹配以数字开头的。

你取分组1就得到结果了,分组0是整个字符串。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式