1

私はこの素晴らしい正規表現を書き、これを実装することができました:

s/(?:[aeiou\u00E4\u00E4\u00F6\u00D6\u00FC\u00DC])h//ig

perlでは、しかし、Javaコードに適用するのが遅れているようです。私は次のことを試しました:

bar.replaceAll("?:[aeiou\u00E4\u00E4\u00F6\u00D6\u00FC\u00DC])h", "");

しかし、私には特別な何かが欠けているようです。

したがって、私の質問は非常に明白です。この正規表現を Java の文字列に適用するにはどうすればよいですか?

4

1 に答える 1

5

Java 文字列でバックスラッシュを 2 つにすることを忘れないでください。

bar.replaceAll("(?i)[aeiou\\u00E4\\u00E4\\u00F6\\u00D6\\u00FC\\u00DC]h", "");

先頭のは、大文字と小文字を区別しない修飾子を(?i)置き換えます。/i

母音を保持して のみを削除する場合は、後読みアサーションhを使用します。

bar.replaceAll("(?i)(?<=[aeiou\\u00E4\\u00E4\\u00F6\\u00D6\\u00FC\\u00DC])h", "");
于 2012-11-30T18:58:55.967 に答える