用正则表达式查找句子中的数字

时间:2012-09-14 07:31:26

标签: regex

我需要一个能找到句子上所有数字的正则表达式。 例如: “我有3个香蕉和37个气球” 我会得到:

3

37

“时间是20:00,我有7辆坦克” 我会得到:

20

00

7

3 个答案:

答案 0 :(得分:6)

[^0-9]+分割字符串。

JAVA:String[] numbers = "yourString".split("[^0-9]+");

JavaScript:var numbers = "yourString".split(/[^0-9]+/);

PHP:$numbers = preg_split("/[^0-9]+/", "yourString");

答案 1 :(得分:3)

正则表达式本身就像\d+一样简单,但你还需要设置一个标志来全局匹配它,其语法取决于你正在使用的编程语言或软件。

编辑:一些例子:

的Python:

import re
re.findall(r"\d+", my_string)

JavaScript的:

myString.match(/\d+/g)

答案 2 :(得分:2)

您正在寻找的正则表达式是[0-9]+\d+。然后你应该得到句子的多个匹配。