比如我有一段字符
ABCD10-20DEF34GF
当然也可能是这样的
AB32CD10-20DEF34GF
现在的问题是我只想获取 破折号两边的数字 10 和 20
现在的情况是 获取的时候 会获取到 10 2034 下面的是 3210 2034
求
(?!\D)(\d+)-(\d+)
用python测试过的一个正则
破则号连接两个数字串,开头以非数字开始,但是不取到
实际上,你使用下面这个也可以取到你要的结果
(\d+)-(\d+)
就是想要的结果
现在还有这种情况 我如何才能获取到 短横线前面的10 注意10后面的字母有可能有 也有可能没有 AB32CD10AC-20DEF34GF
@Coderwhl: (\d+|\d+\w+)-(\d+)
@兰冰点点: 抱歉我没有表达清楚 其实我主要是想得到结果是 前面那部分的 10 和后面的20 后面的 能正确获取到 得到-20 我把短横线去掉就可以了 但是现在前面的 得到了 短横线和前面的整个部分 其实我只要得到短横线前面的第一个数字 这里面 AC那部分可能有也可能没有 其实我只要得到 短横线前面第一个数字或者第一个数字到短横线那里也行 我把短横线和字母去掉就可以
@Coderwhl: (\d+|\d+[A-Za-z]{2,})-(\d+)
这种正则实现不一定是最好的选择
@Coderwhl: 我不知道你的具体情况,这种只能匹配
(纯数字)+(-)+(纯数字)
(纯数字)+(N位字母)+(-)+(纯数字)
@兰冰点点: 是我想要的结果 万分感谢 !!!谢谢。你太厉害了 大神。
@兰冰点点: 是我想要的结果 万分感谢 !!!谢谢。你太厉害了 大神。
\w+(\d+)-(\d+)\w+
获取不到
'AB32CD10-20DEF34GF'.match(/\d+-\d+/)