java - 在 Java 中应用此正则表达式

标签 java regex regex-negation

<分区>

我写了这个很棒的正则表达式并且我能够实现它:

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

在 perl 中,但是我似乎迟迟不能将它应用到我的 Java 代码中。我试过以下方法:

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

可是我好像还缺少点特别的东西。

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

最佳答案

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

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

开头的 (?i) 替换了 /i 不区分大小写修饰符。

如果你想保留元音而只删除 h,请使用 lookbehind assertion :

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

关于java - 在 Java 中应用此正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13651328/

相关文章:

java - JNI 我可以使用哪些类型而不是给定的类型(unsigned int、const char*、const wchar_t*、....)

regex - 正则表达式问题

ruby - 我的代码计算出现的字符时遇到问题

regex - ^(?!(xx+)\1+$) 和 ^(?!(xx+)\1+)$ 有什么区别?

java - java中如何将一个节点指定为前一个节点?

java - 如何在成功验证后使用 Microsoft OAuth 获取用户信息

用于匹配指定文本的正则表达式,然后是除指定文本之外的任何内容,然后是任何内容,然后是指定文本

java - 正则表达式排除匹配的第一个和最后一个字符

java - 如何在 cucumber 测试中匹配括号

regex - 如何在 Perl 的正则表达式中使用 chr 函数?