-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.2.1.Final
-
None
-
None
-
None
See attached rule XML.
In the `where` clause, I have a `matches` element with a `pattern` attribute with a regex inside. That regex uses a negative lookahead `(?! ... )` to match anything except for the text inside the lookahead. Negative lookaheads are supported by Java (as supported by the documentation)
However, when I use the negative lookahead in the regex, it does not work. I won't match strings other than the string in the lookahead. If I put another type of expression (such as a simple string match), it works fine. I've also validated the expression works.
Okay, so it looks like regex-based pattern matching in general is not working properly, as I've found multiple cases where it doesn't match when it should. See the updated `spring-version-check.rhamt.xml` attachment. Notice the regex in the `where` clause. There are artifacts that contain the file "spring-jdbc-3.1.2.RELEASE.jar" that should be being flagged by the rule, but the regex is not matching against the filename. I validated that the regex works properly here.