in reply to RegEx revision needed

Looks like your using //i so the "Rev" is matching case insensitively. You can override that for part of your match by saying e.g. (?-i:R)ev to require R to be capitalized. Or you can figure out more precisely what you are expecting between the Rev(?:ision)? and the part you want to capture. Changing ([^\s;,\n\r]+) to (\b[^\s;,\n\r]+) (or using some negative or positive lookbehind instead of \b) may do what you need.

It looks like your regex has grown in complexity over time, adding more and more cases. This can create a maintenance nightmare; it's often better just to write out:

if (/case1/) { $capture = $1 } elsif (/case2/) { $capture = $7 } ...
or if you need to force leftmost match, like this
($capture) = grep defined, / (?:case1) | (?:case2) | .../x;
(assuming each case does a separate capture of the part you want).