用正则表达式替换java中的字符串

用正则表达式替换java中的字符串,java,regex,string,Java,Regex,String,我创建了一个正则表达式来替换字符串中的子字符串。但是,我创建的正则表达式显然是不正确的。请引导 我想替换Html字符串中的正则表达式,但由于有多个这样的标记,它将它们视为一个标记,它替换所有标记 使用的方法: pattern = <figure id="attachment_5438".*</figure> html = html.replaceFirst(pattern, "text to replace"); pattern=根据这一点,您可以尝试 <figure

我创建了一个正则表达式来替换字符串中的子字符串。但是,我创建的正则表达式显然是不正确的。请引导

我想替换Html字符串中的正则表达式,但由于有多个这样的标记,它将它们视为一个标记,它替换所有标记

使用的方法:

pattern = <figure id="attachment_5438".*</figure>
html = html.replaceFirst(pattern, "text to replace");
pattern=根据这一点,您可以尝试

<figure id="attachment_5438".+?(?=</figure>)</figure>

默认情况下,regex是贪婪的,这意味着它需要尽可能多的字符。您需要使用
*?
使您的正则表达式不贪婪。强制链接:。也请看:,。这对我很有效,谢谢。
<figure id="attachment_5438".+?(?=</figure>)</figure>