0
    文字列テスト = ページ;
    パターン p = Pattern.compile("^\\W+\\s(?=\\w+)");
    マッチャー m = p.matcher(test);
    while(m.find())
         System.out.println(m.group());

ページ文字列は次のようになります。

興味
アンノウン アンノウンズ
私は、このカテゴリにリストされるべき資産を所有していないか、知りません。
$125
すべてのホーム プロパティの正味価格 (スケジュール A から H)
$128
すべての銀行資産の正味価値 (スケジュール I)
$253
全財産の正味価額(表A~I)

最後の値を保存する必要があります。正規表現を使用してそれを見つけ、文字列に保存する方法を教えてください。

4

2 に答える 2

2
    String s = "Interest\n"
            + "Unknown Unknown’s \n"
            + "I do not own or know of any assets that should be listed in this category.\n"
            + "$125\n"
            + "Net value of all Home property (Schedules A through H)\n"
            + "$128\n"
            + "Net value of all Bank property (Schedule I)\n"
            + "$253\n"
            + "Net value of all property (Schedules A through I)";
    Pattern p = Pattern.compile("(?<=\\$)\\d+");
    Matcher m = p.matcher(s);
    while (m.find()) {
        System.out.println(m.group());
    }

出力:

125 128 253

于 2013-09-02T14:05:38.487 に答える
0

あなたが求めているのは、「$125」、「$128」、「$253」などを含む行を見つけることであり、数字だけに関心があるようです。

一般に、先読みではない値を抽出するには、(\w+) などのグループ化を使用します。

値が常に行頭にある場合は、次のパターンを試してください。

Pattern p = Pattern.compile("^\\$(\\d+)");
于 2013-08-30T09:35:54.357 に答える