import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(<[^>]*>)*((?:\\w+\\W+){35})\\w.*$";
final String string = "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vehicula lorem magna, sed commodo neque hendrerit eu. Aliquam vulputate tellus a tellus congue iaculis. Integer sit amet gravida leo. Ut hendrerit, massa non rutrum fringilla, justo sem sodales velit, vitae ornare odio mauris sed dui. Duis suscipit posuere neque vel gravida. Nam ullamcorper, justo maximus pretium iaculis, ipsum elit hendrerit turpis, eu convallis leo magna vitae neque. Praesent interdum eget quam quis ultricies.</p>\n\n"
+ "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vehicula lorem magna, sed commodo neque hendrerit eu. Aliquam vulputate tellus a tellus congue iaculis. Integer sit amet gravida leo. Ut hendrerit, massa non rutrum fringilla, justo sem sodales velit, vitae ornare odio mauris sed dui. Duis suscipit posuere neque vel gravida. Nam ullamcorper, justo maximus pretium iaculis, ipsum elit hendrerit turpis, eu convallis leo magna vitae neque. Praesent interdum eget quam quis ultricies.</p>";
final String subst = "$2";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceFirst(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html