当前位置: 首页 > 知识库问答 >
问题:

Regex删除两个字符串之间的所有内容,但重复

锺离森
2023-03-14

示例字符串:在文本之前,

我希望删除任何提及的内容

我想要的结果来自上面的示例字符串:< code >在文本之前,在文本之后,在段落的结尾。

我读过regex移除两个字符串之间的所有内容,并尝试过< code>replaceAll(“

有没有一种简单的正则表达式方法来达到预期的结果?在我的实际文本中,可能有很多(超过 2 组)的

编辑:添加了我尝试过的正则表达式。


共有2个答案

鲁浩渺
2023-03-14
匿名用户

如果你要离开参考问题中的答案,你确实“删除了太多”,因为答案使用了贪婪的运算符,使用< code>*?进行非贪婪匹配...

如果您必须使用以下正则表达式,我建议您使用:

str = str.replaceAll("(?s)<ref>.*?</ref>", "");

注意:inline(?s)模式修饰符允许点在换行序列之间匹配。

顾单弓
2023-03-14

我假设您用< code>replaceAll(“

 类似资料:
  • 我有以下字符串: 如果您将它格式化得很好,您将会看到类似这样的内容: 所以我有一堆锚标签,它们之间有断点。在每个锚的文本中,我想删除管道字符和文件类型: 狗-00.jpg|图像/JPEG 变成 dog-00.jpg 正则表达式也应该适用于所有未来的文件类型,例如: dog-01.docx|应用/vnd.openxmlformats-officedocument.wordprocessingml.d

  • 问题内容: 我有一个由三部分组成的字符串。我希望字符串是(更改),单独的部分(不更改)和最后一个更改的部分。我要删除分隔部分和结尾部分。分离的部分是“-”,所以我想知道的是,是否有办法删除字符串中一定部分之后的所有内容。 这种情况的一个示例是,如果我想将其转换为:“ Stack Overflow-一个地方来问问题”:任何帮助表示赞赏! 问题答案: 例如,您可以这样做: 要么 (并添加相关的错误处理

  • 问题内容: 我有这样的java字符串: 我想删除标签。我还有一些其他字符串,其中标签的长度更长,因此我想找到一种方法来删除“ <>”字符之间的所有内容,包括那些字符。 一种方法是使用将字符串与regEx进行比较的内置字符串方法,但是我不知道如何编写它们。 问题答案: 注意使用正则表达式时,解析HTML(由于其允许的复杂性),但是,对于“简单” HTML,以及简单的文本(文本没有字面建议或它)这将工

  • 问题内容: 我想删除两个字符之间以及字符本身之间的字符串,例如说: 我想替换“#?”之间所有出现的字符串 和“;” 并用字符将其删除。 由此 对此 我怎么能用Java做到呢? 问题答案: 使用正则表达式:

  • 问题内容: 有什么方法可以删除某个角色之后的所有内容,或者只是选择该角色之前的所有内容?我从href到“?”都得到了值,并且总是会有不同数量的字符。 像这样 我只希望href是,所以我想删除“?”之后的所有内容。 我现在正在使用这个: 问题答案: 我还应该提到,本机字符串函数比正则表达式快得多,后者仅应在必要时才使用(这不是其中一种情况)。 更新代码以不添加“?”:

  • 问题内容: 什么是获取两个字符串之间内容的最佳方法,例如 由于某种原因,这似乎在我的代码中的一个地方起作用,而不是另一个地方。我会以正确的方式解决这个问题吗?或者,还有更好的方法? 输出缓冲区也是这样做的方法还是file_get_contents? 提前致谢! 问题答案: 使用代替,这样您就不必逃避它们。 该修改 品牌和还包括换行。 并具有各种功能,例如的n到m倍。 基础的 各种标签等的高级(Ja