0

次の文字列があります。

!date +10 (yyyy-MM-dd'T'HH:mm:ssz)

この文字列も可能です (プラスの代わりにマイナスに注意してください。:

!date -10 (yyyy-MM-dd'T'HH:mm:ssz)

+ (または -) の後に数字を抽出する正規表現パターンが必要です。桁が複数ある場合があります。

括弧 () の内容を抽出するパターンも必要です。

私はregex palで遊んだことがあります。しかし、動作パターンを取得できませんでした。

乾杯。

4

3 に答える 3

3

数字と括弧の内容を選択するには、次のようにします。

String str = "date +10 (yyyy-MM-dd'T'HH:mm:ssz)";
Matcher m = Pattern.compile(".*[+|-](\\d+).*\\((.*)\\).*").matcher(str);
if (m.matches()) {
    System.out.println(m.group(1));
    System.out.println(m.group(2));
}
于 2012-10-04T09:50:12.777 に答える
0

次の正規表現は、必要なコンテンツを含む2つのキャプチャグループにつながります

"!date\\s[+-](\\d+)\\s\\((\\d{4}-\\d{2}-\\d{2}'T'\\d{2}:\\d{2}:\\d{2}z)\\)"
于 2012-10-04T09:49:34.910 に答える
0

この正規表現は、それぞれ最初と 2 番目のキャプチャ グループの +/- の後の数字と括弧の内容と一致するはずです。

"!date\\s[+-](\\d+)\\s\\(([^)]*)\\)"
于 2012-10-04T09:46:04.813 に答える