import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "REVIEWDOG_VERSION(?:\\s*=\\s*|:?\\s*)[\\\"|\\']?v?\\K\\d+\\.\\d+(\\.\\d+)?(-[^\\'\\\"\\s]*)?";
final String string = "This is test file.\n\n"
+ "REVIEWDOG_VERSION=v0.1.0\n"
+ "REVIEWDOG_VERSION = v0.1.0\n"
+ "REVIEWDOG_VERSION=0.1.0\n"
+ "REVIEWDOG_VERSION = 0.1.0\n"
+ "REVIEWDOG_VERSION=\"v0.1.0\"\n"
+ "REVIEWDOG_VERSION='v0.1.0'\n"
+ "REVIEWDOG_VERSION = \"v0.1.0\"\n"
+ "REVIEWDOG_VERSION = 'v0.1.0'\n"
+ "REVIEWDOG_VERSION=\"0.1.0\"\n"
+ "REVIEWDOG_VERSION='0.1.0'\n"
+ "REVIEWDOG_VERSION = \"0.1.0\"\n"
+ "REVIEWDOG_VERSION = '0.1.0'\n"
+ "REVIEWDOG_VERSION=\"v0.1.0-nightly20201208+12faa31\"\n"
+ "REVIEWDOG_VERSION='v0.1.0-nightly20201208+12faa31'\n"
+ "REVIEWDOG_VERSION = \"v0.1.0-nightly20201208+12faa31\"\n"
+ "REVIEWDOG_VERSION = 'v0.1.0-nightly20201208+12faa31'\n"
+ "REVIEWDOG_VERSION=\"0.1.0-nightly20201208+12faa31\"\n"
+ "REVIEWDOG_VERSION='0.1.0-nightly20201208+12faa31'\n"
+ "REVIEWDOG_VERSION = \"0.1.0-nightly20201208+12faa31\"\n"
+ "REVIEWDOG_VERSION = '0.1.0-nightly20201208+12faa31'\n"
+ "ENV REVIEWDOG_VERSION=0.1.0\n"
+ "ENV REVIEWDOG_VERSION 0.1.0\n"
+ "ARG REVIEWDOG_VERSION=0.1.0\n"
+ "yaml:\n"
+ " REVIEWDOG_VERSION: 0.1.0\n"
+ " REVIEWDOG_VERSION: \"0.1.0\"\n"
+ " REVIEWDOG_VERSION: '0.1.0'\n\n"
+ "The above version should be updated to the latest version with this action.\n\n\n"
+ "Other test cases.\n\n"
+ "REDPEN_VERSION=1.10.1\n\n"
+ "TMUX_VERSION=3.0\n";
final String subst = "1.0.0-nightly23423423423423523gdsg";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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