【问题标题】:Find numbers in a sentence by regex通过正则表达式在句子中查找数字
【发布时间】:2012-09-14 16:30:37
【问题描述】:

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

3

37

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

20

00

7

【问题讨论】:

  • 请指定您使用的环境或语言。它可以让人们给你更准确和相关的答案。

标签: regex


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    编辑:一些例子:

    Python:

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

    JavaScript:

    myString.match(/\d+/g)
    

    【讨论】:

      【解决方案3】:

      您要查找的正则表达式是[0-9]+\d+。然后,您应该为该句子获得多个匹配项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-02
        • 1970-01-01
        • 2017-07-04
        • 1970-01-01
        • 2013-11-08
        • 2013-01-14
        • 2015-01-10
        • 1970-01-01
        相关资源
        最近更新 更多