簡體   English   中英

如何獲取文本數?

[英]How to fetch number of the text?

我的文字是“這是13221個項目中的145個”。 我需要一次提取所有數量的文本(“ 145和13221”)。 我想使用正則表達式來做到這一點。 正則表達式是什么樣的? “ \\ d +”不能正常工作。

\\d+工作正常。 根據語言的不同,您可能必須將斜杠轉義為"\\\\d+" ,例如在Java中。

    String text = "It's the 145 of 13221 items";
    Matcher m = Pattern.compile("\\d+").matcher(text);
    while (m.find()) {
        System.out.println(m.group());
    }
    // prints "145", "13221"

您需要弄清楚如何用您的語言在字符串中查找正則表達式匹配項,但是\\d+模式將匹配非零連續數字序列。


在Javascript中,您可以執行以下操作:

function findDigitSequences(s) {
    var re = new RegExp("\\d+", "g");
    return s.match(re);
}

您需要使用類似^[^\\d]*(\\d+)[^\\d]*(\\d+)[^\\d]*$ 取決於您使用的正則表達式的風格。

此正則表達式匹配:

  1. 開頭的零個或多個非數字字符(“是”)
  2. 捕獲組#1中的一個或多個數字字符(“ 145”)
  3. 零個或多個非數字字符(“”的“”)
  4. 捕獲組#2中的一個或多個數字字符(“ 13221”)
  5. 結尾處的零個或多個非數字字符(“項目”)
^[\D\w]+([\d]+)[\D\w]+([\d]+).+$

捕獲組:

  1. 145
  2. 13221

對不起,當我寫那封信時

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM