-1

次の文字列から正規表現を使用してJAVAで2つの文字列を抽出するには、ヘルプが必要です。

"Batch job <jobid> <jobtype> success"

jobidとjobtypeを取り出す必要があります。get()メソッドからStringオブジェクトに文字列を配置すると、;に<置き換えられます。&ltこれは文字通りです。

文字列からジョブIDとジョブタイプを抽出するために正規表現を作成するにはどうすればよいですか?文字列は。なしである必要があり<>ます。

ご協力いただきありがとうございます!

4

2 に答える 2

0

1 つのサンプルを提供しても、形式にどのような差異があるかはわかりません。2 つのフィールドは常に "Batch job ... success" で囲まれ、スペースで区切られています。次に、正規表現は次のようになります。

Pattern pattern = Pattern.compile("Batch job (.*) (.*) success");
Matcher matcher = pattern.matcher(log);
if (matcher.matches()) {
    String jobId = matcher.group(1);
    String jobType = matcher.group(2);
    //...
}

フォーマットに柔軟性がある場合は、より正確な正規表現を設計する必要があります。

于 2012-06-19T16:55:04.997 に答える
0

/<(.*?)>/do ...を使ってみてください。

Pattern patt = Pattern.compile("/<(.*?)>/");
Matcher matc = patt.matcher("Batch job <jobid> <jobtype> success");
if (matc.matches()) {
    String jobid = matc.group(1);
    String jobtype = matc.group(2);
}

2 つの文字列jobidとには、とjobtypeの間の文字列が含まれます ( と は含まれません) 。<><>

于 2012-06-19T16:56:58.510 に答える