Details
-
Feature Request
-
Resolution: Unresolved
-
Minor
-
5.0.1.FINAL
-
None
Description
Any regexp emitted by a DSL must be octupled in order to pass through to the DRL and actually work in the rule.
Example: I have a simple rule (I should say: a rule which SHOULD be simple), to test for emails:
[condition][]is not email=not matches "^\\\\\\\\w-(\\\\\\\\.\\\\\\\\w-)@([a-z0-9-](\\\\\\\\.[a-z0-9-])?\\\\\\\\.[a-z]
{2,6}|(\\\\\\\\d
{1,3}\\\\\\\\.){3}\\\\\\\\d{1,3})(:\\\\\\\\d
{4})?$"
As you can see, each backslash is there 8 times. By then time it appears in the resulting DSL, they are doubled (which contrary to docs must be the case, otherwise the regexp does not behave correctly).
Regular expressions should be treated differently throughout Drools. Maybe by using raw strings as in Perl or C#? It's really annoying...