1

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

7 - BMW 550i

如果用户输入这个,我如何使用正则表达式删除破折号右侧的所有内容,所以我只剩下第一个数值。

我试过这个:

-?\\d+

但是,如果像我给出的示例一样,它将获得结束编号。

4

2 回答 2

1

这应该有效:

(\d+)\s*-

用来$1得到你的结果。

例如,在 Perl 中,使用这个:

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

RegexPlanet在线演示

于 2013-02-18T10:28:43.207 回答
-2

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

于 2013-02-18T10:31:33.233 回答