Javaの正規表現は、すべての番号を取得します

楽しいです:

私は、文字列、例のすべての数字を取得する必要があります。

"a: 1 | b=2 ; c=3.2 / d=4,2"

私はこの結果を取得したいです:

  • 1
  • 2
  • 3.2
  • 4,2

だから、私は、Javaで正規表現でそれを言うのか分かりません。

実は、私はこれを持っています:

(?<=\D)(?=\d)|(?<=\d)(?=\D)

彼は、文字と数字を分割する(ただし、二重の値が尊重されていない)、その結果は次のとおりです。

  • 1
  • 2
  • 3
  • 2(問題)
  • 4
  • 2(問題)

手伝って頂けますか ?

ありがとう

アービンド・クマールのAvinash:

次のようにあなたはそれを行うことができます。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        // Test
        String s = "a: 1 | b=2 ; c=3.2 / d=4,2";
        showNumbers(s);
    }

    static void showNumbers(String s) {
        Pattern regex = Pattern.compile("\\d[\\d,.]*");
        Matcher matcher = regex.matcher(s);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}

出力:

1
2
3.2
4,2

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=21049&siteId=1