首页 新闻 会员 周边 捐助

这个正则能实现吗

-1
悬赏园豆:10 [已解决问题] 解决于 2017-06-09 16:31

比如我有一段字符  

ABCD10-20DEF34GF

当然也可能是这样的

AB32CD10-20DEF34GF

 

现在的问题是我只想获取 破折号两边的数字  10 和 20  

现在的情况是  获取的时候 会获取到 10    2034  下面的是 3210    2034

Nuller的主页 Nuller | 初学一级 | 园豆:115
提问于:2017-06-05 13:37
< >
分享
最佳答案
1

(?!\D)(\d+)-(\d+)

 

用python测试过的一个正则

破则号连接两个数字串,开头以非数字开始,但是不取到

实际上,你使用下面这个也可以取到你要的结果

(\d+)-(\d+)

 

收获园豆:10
兰冰点点 | 菜鸟二级 |园豆:401 | 2017-06-06 16:30

就是想要的结果

Nuller | 园豆:115 (初学一级) | 2017-06-08 17:30

现在还有这种情况  我如何才能获取到 短横线前面的10  注意10后面的字母有可能有 也有可能没有    AB32CD10AC-20DEF34GF

Nuller | 园豆:115 (初学一级) | 2017-07-06 11:58

@Coderwhl: (\d+|\d+\w+)-(\d+)

兰冰点点 | 园豆:401 (菜鸟二级) | 2017-07-06 12:17

@兰冰点点:  抱歉我没有表达清楚 其实我主要是想得到结果是 前面那部分的  10   和后面的20  后面的 能正确获取到  得到-20 我把短横线去掉就可以了 但是现在前面的 得到了 短横线和前面的整个部分 其实我只要得到短横线前面的第一个数字     这里面 AC那部分可能有也可能没有  其实我只要得到 短横线前面第一个数字或者第一个数字到短横线那里也行 我把短横线和字母去掉就可以  

Nuller | 园豆:115 (初学一级) | 2017-07-06 14:09

@Coderwhl: (\d+|\d+[A-Za-z]{2,})-(\d+)

这种正则实现不一定是最好的选择

兰冰点点 | 园豆:401 (菜鸟二级) | 2017-07-06 14:27

@Coderwhl: 我不知道你的具体情况,这种只能匹配

(纯数字)+(-)+(纯数字)

(纯数字)+(N位字母)+(-)+(纯数字)

兰冰点点 | 园豆:401 (菜鸟二级) | 2017-07-06 14:29

@兰冰点点: 是我想要的结果  万分感谢 !!!谢谢。你太厉害了 大神。

Nuller | 园豆:115 (初学一级) | 2017-07-06 14:40

@兰冰点点: 是我想要的结果  万分感谢 !!!谢谢。你太厉害了 大神。

Nuller | 园豆:115 (初学一级) | 2017-07-06 14:40
其他回答(2)
0
\w+(\d+)-(\d+)\w+
墨镜带佬星 | 园豆:2310 (老鸟四级) | 2017-06-05 13:47

获取不到

支持(0) 反对(1) Nuller | 园豆:115 (初学一级) | 2017-06-05 17:23
0

'AB32CD10-20DEF34GF'.match(/\d+-\d+/)

until-u | 园豆:225 (菜鸟二级) | 2017-06-05 19:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册