import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?sm)^(\"[a-z\\d]+\")(?i)((?:[^\\n]*\\n)*[^\\n]*)\\n(?=\\1)(?-i)\"[A-Z\\d]+\"[^\\n]*";
final String string = "\"hello\",\"2018-11-19\",\"unitelife\"\n"
+ "\"HELLO\",\"2018-11-19\",\"unitelife\"\n"
+ "\"world\",\"2018-11-09\",\"unitelife\"\n"
+ "\"foo\",\"2018-11-16\",\"unitelife\"\n"
+ "\"bar\",\"2018-10-05\",\"unitelife\"\n"
+ "\"hello123\",\"2018-09-06\",\"unitelife\"\n"
+ "\"HELLO123\",\"2018-11-18\",\"unitelife\"\n"
+ "\"FOO\",\"2018-11-20\",\"unitelife\"\n"
+ "\"WOWMUCHHAPPY\",\"2018-10-20\",\"unitelife\"\n"
+ "\"suchjoy\",\"2017-11-28\",\"unitelife\"";
final String subst = "\\1\\2";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(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