I
文字列からの出現を見つける正規表現が1つ欲しい
しかしI
、いつARTICLE I
来ても無視しARTICLE III
てください
正規表現を作ったのですが、ARTICLE I
来ると出現回数をカウントします
(?:(^I[ ]|[ ]I[, ]|[ ]I$|(!ARTICLE[ ]I+$)))
ARTICLE III
これを除いて、すべての場合でもうまく機能します
ネガティブルックビハインドを使用できます:((?<!ARTICLE )(\bI+\b)
正確に何をキャプチャしたいかはわかりませんが、これで開始できます)。
の後に続くトークンARTICLE
はローマ数字だと思います。だからこれが私の解決策です:
String s = "KSLJFI ARTICLE III SPIOEWF ARTICLE I ASDKJHJK OSDIF ARTICLE IV SKDJFHJSOIFPOEIF";
String temp = s.replaceAll("ARTICLE\\s+\\b[IVXLCDM]+\\b", "");
ローマ数字またはローマ数字と一致するI
ことを心配せずに、一時文字列内の任意の文字列と一致させることができます。I
ARTICLE
I
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]);
}
}