在Java中用RegExp替换除一个之外的所有标记

在Java中用RegExp替换除一个之外的所有标记,java,regex,replace,Java,Regex,Replace,我有以下问题。我想删除所有以开头的子字符串,,但子字符串除外 示例:..应删除,但不应删除 我确信这适用于RegExp和String.replace(),但我不知道如何使用 目前,我已经明白了这一点: line = line.replaceAll("<[^<]*>", ""); line=line.replaceAll(“使用负前瞻: line = line.replaceAll("<(?!back>)[^<>]*>", "");

我有以下问题。我想删除所有以
开头的子字符串,但子字符串除外

示例:
..
应删除,但不应删除

我确信这适用于RegExp
String.replace()
,但我不知道如何使用

目前,我已经明白了这一点:

line = line.replaceAll("<[^<]*>", "");

line=line.replaceAll(“使用负前瞻:

line = line.replaceAll("<(?!back>)[^<>]*>", "");
                         ^^^^^^^^^
line=line.replaceAll(“)[^]*>”,”);
^^^^^^^^^

模式匹配:

  • (此负前瞻,作为零宽度断言,仅检查当前位置右侧的文本,但不会使用文本)
  • [^]*
    -零个或多个字符,而不是
    -一个
    符号

    • 您可以使用
      (?!)该
      (?!@WiktorStribiżew谢谢,我已经改进了它,只需写下描述,让我来展示一下谢谢大家的快速回答,这一个效果更好,第一个删除了一些其他字符。RegExp演示真的很有用!@MichaelGierer很高兴我和Wiktor Stribiżew能够提供帮助,很高兴编写此解决方案包含多余的字符部分和可以进一步缩短。此解决方案删除了哪些字符?我更新为仅从