0

I文字列からの出現を見つける正規表現が1つ欲しい

しかしI、いつARTICLE I来ても無視しARTICLE IIIてください

正規表現を作ったのですが、ARTICLE I来ると出現回数をカウントします

(?:(^I[ ]|[ ]I[, ]|[ ]I$|(!ARTICLE[ ]I+$)))

ARTICLE IIIこれを除いて、すべての場合でもうまく機能します

4

3 に答える 3

1

ネガティブルックビハインドを使用できます:((?<!ARTICLE )(\bI+\b)正確に何をキャプチャしたいかはわかりませんが、これで開始できます)。

于 2012-06-13T09:56:46.277 に答える
0

の後に続くトークンARTICLEはローマ数字だと思います。だからこれが私の解決策です:

String s = "KSLJFI ARTICLE III SPIOEWF ARTICLE I ASDKJHJK OSDIF ARTICLE IV SKDJFHJSOIFPOEIF";
String temp = s.replaceAll("ARTICLE\\s+\\b[IVXLCDM]+\\b", "");

ローマ数字またはローマ数字と一致するIことを心配せずに、一時文字列内の任意の文字列と一致させることができます。IARTICLEI

于 2012-06-13T09:57:57.380 に答える
0
public static void main(String args[]) {
    String s="ARTICLE II";
    String[] ss=s.split("(\\s+)I+");

    for(int i=0;i<ss.length;i++) {
        System.out.println(ss[i]);
    }
}
于 2012-06-13T09:58:20.550 に答える