$re = '/REVIEWDOG_VERSION(?:\s*=\s*|:?\s*)[\"|\']?v?\K\d+\.\d+(\.\d+)?(-[^\'\"\s]*)?/m';
$str = 'This is test file.
REVIEWDOG_VERSION=v0.1.0
REVIEWDOG_VERSION = v0.1.0
REVIEWDOG_VERSION=0.1.0
REVIEWDOG_VERSION = 0.1.0
REVIEWDOG_VERSION="v0.1.0"
REVIEWDOG_VERSION=\'v0.1.0\'
REVIEWDOG_VERSION = "v0.1.0"
REVIEWDOG_VERSION = \'v0.1.0\'
REVIEWDOG_VERSION="0.1.0"
REVIEWDOG_VERSION=\'0.1.0\'
REVIEWDOG_VERSION = "0.1.0"
REVIEWDOG_VERSION = \'0.1.0\'
REVIEWDOG_VERSION="v0.1.0-nightly20201208+12faa31"
REVIEWDOG_VERSION=\'v0.1.0-nightly20201208+12faa31\'
REVIEWDOG_VERSION = "v0.1.0-nightly20201208+12faa31"
REVIEWDOG_VERSION = \'v0.1.0-nightly20201208+12faa31\'
REVIEWDOG_VERSION="0.1.0-nightly20201208+12faa31"
REVIEWDOG_VERSION=\'0.1.0-nightly20201208+12faa31\'
REVIEWDOG_VERSION = "0.1.0-nightly20201208+12faa31"
REVIEWDOG_VERSION = \'0.1.0-nightly20201208+12faa31\'
ENV REVIEWDOG_VERSION=0.1.0
ENV REVIEWDOG_VERSION 0.1.0
ARG REVIEWDOG_VERSION=0.1.0
yaml:
REVIEWDOG_VERSION: 0.1.0
REVIEWDOG_VERSION: "0.1.0"
REVIEWDOG_VERSION: \'0.1.0\'
The above version should be updated to the latest version with this action.
Other test cases.
REDPEN_VERSION=1.10.1
TMUX_VERSION=3.0
';
$subst = "1.0.0-nightly23423423423423523gdsg";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php