首頁 >Java >java教程 >如何使用 Java 正規表示式從字串中提取數值?

如何使用 Java 正規表示式從字串中提取數值?

Barbara Streisand
Barbara Streisand原創
2024-12-11 03:21:09853瀏覽

How Can I Extract Numerical Values from Strings Using Java Regular Expressions?

在 Java 中使用正規表示式擷取值

本文解決了在 Java 中使用正規表示式擷取特定文字段的需求。上下文圍繞著將「[some number]」模式中包含的數字元件與一系列字串隔離。

為了實現這一點,我們使用了 Java 正規表示式類別。建構正規表示式,例如「^([a-zA-Z] )([0-9] )(.*)」來辨識所需的模式。

核心 Java 呼叫應用程式來源資料上的此正規表示式為:

  1. 使用 Pattern.compile() 方法建立一個 Matcher 物件。
  2. 使用Matcher.find() 方法偵測輸入字串中是否存在模式。
  3. 使用 Matcher.group() 方法檢索符合的群組。在下面的範例中,m.group(2) 將擷取第一次出現的「[some number]」。

提供了一個全面的範例:

private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
public static void main(String[] args) {
    Matcher m = p.matcher("Testing123Testing");
    if (m.find()) {
        System.out.println(m.group(0)); // whole matched expression
        System.out.println(m.group(1)); // Testing
        System.out.println(m.group(2)); // 123
        System.out.println(m.group(3)); // Testing
    }
}

對於場景如果數字部分可能包含符號,則應使用修改後的正規表示式,例如「^D (- ?d ).*」。

以上是如何使用 Java 正規表示式從字串中提取數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn