求正则表达式提取字符串中第四位数字
12a21b4c51da4b23c7d1234字符串如上,求两个正则表达式:提取第四个数字,以上例子提取效果是51和1234提取第二个数字,以上例子的提取效果是21和23...
12a21b4c51d
a4b23c7d1234
字符串如上,求两个正则表达式:
提取第四个数字,以上例子提取效果是51和1234
提取第二个数字,以上例子的提取效果是21和23 展开
a4b23c7d1234
字符串如上,求两个正则表达式:
提取第四个数字,以上例子提取效果是51和1234
提取第二个数字,以上例子的提取效果是21和23 展开
1个回答
2015-02-04 · 知道合伙人互联网行家
关注
展开全部
原理:匹配需要匹配第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是整个字符串。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询