在Java中应用此正则表达式

use*_*234 1 java regex regex-negation

我写了这个精彩的正则表达式,我能够实现这个:

s/(?:[aeiou\u00E4\u00E4\u00F6\u00D6\u00FC\u00DC])h//ig
Run Code Online (Sandbox Code Playgroud)

在perl中,但是我似乎要将其应用于我的Java代码中.我尝试过以下方法:

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

但我似乎缺少一些特别的东西.

因此,我的问题非常明显:如何将此正则表达式应用于Java中的字符串?

Tim*_*ker 5

不要忘记在Java字符串中加倍反斜杠:

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

(?i)一开始替换/i不区分大小写修改.

如果你想保留元音并且只删除它h,请使用lookbehind断言:

bar.replaceAll("(?i)(?<=[aeiou\\u00E4\\u00E4\\u00F6\\u00D6\\u00FC\\u00DC])h", "");
Run Code Online (Sandbox Code Playgroud)