According to the Drools Documentation, I should be able to match the following regex in a rule, since the matches operator
"Matches a field against any valid Java Regular Expression."
However,
$firstName : String(value matches "[^A-Za-z]") from $person.name.firstName
results in an error when attempting to evaluate the rule. What am I missing here?
Edit - originally had "contains" instead of "matches" in the expression. This was a type-o made when re-typing an expression similar to the one I'm working with.
The link contains the text The Operator matches Matches a field against any valid Java Regular Expression.
$firstName : String(this matches ".*[^A-Za-z].*") from $person.name.firstName
Note that the word is "matches" and not "find"!
Edit
And you cannot use "value" with String, there's no such method.