Almost all programming languages support regular expressions. Many search languages allowed simple wildcards, for example “*” to match any sequence of characters, and “?” to match a single character. Non-programmers may use regular expressions in many situations just as well. In particular, business rules may need to define conditions that use regular expressions. Examples of such rules were specified in the DMCommunity July-2025 Challenge. Below is a possible OpenRules solution.
So, we need to represent a few fragments of the university course selection logic as described in two rules:

OpenRules supports regular expressions inside the conditions of its decision tables using different variations of the predefined operators “Like” and “Match”:

Let’s assume that we need to iterate over the array “University Degrees” of the type Degree[] and the array “Courses” of the type Course[] and apply the above rules to define two other arrays: “Allowed Courses” and “Not Allowed Courses” of the type Course[]. Here are the proper rules in the OpenRules format:


Of course, we could combine these two tables into one decision table, but even this solution looks simple and hopefully intuitive.
Instead of the operator “Like” we could use the operator “Match” with any regular expression patterns. For instance, here is an alternative implementation of the first decision table:

