正则表达式删除短划线字符

时间:2013-02-18 10:25:03

标签: regex

我有一个文本输入,将输入如下

7 - BMW 550i

如果用户输入此内容,我如何使用正则表达式删除短划线字符右侧的所有内容,这样我剩下的就是第一个数值。

我试过这个:

-?\\d+

但是,如果我给它的例子会得到结束号码。

2 个答案:

答案 0 :(得分:1)

这应该有效:

(\d+)\s*-

使用$1获取结果。

例如,在Perl中,使用:

my ($number) = ($str =~ /(\d+)\s*-/);

RegexPlanet Online Demo

答案 1 :(得分:-2)

如果不使用正则表达式,有更有效的方法可以做到这一点,我建议你朝这个方向看。