File: //proc/thread-self/root/proc/self/root/usr/local/modsecurity-crs/regex-assembly/942130.ra
##! Please refer to the documentation at
##! https://coreruleset.org/docs/development/regex_assembly/.
##!+ i
##! General comments:
##!
##! The idea behind this expressions is to capture simple logic based (un)equalities that
##! are used to quickly test SQL Logic that always returns TRUE (hence the term "SQL Tautology").
##! We also want to capture the left and right side, and compare for equality.
##! That's why you see below that some of the patterns include grouping explicitly
##! Prefix: captures the initial part that will be matched on the right hand side of the logical construct.
##!^ [\s'\"`()]*?\b([\d\w]+)\b[\s'\"`()]*?
##! Suffix: captures the ending part that will be matched on the left hand side of the logical construct.
##!$ [\s'\"`()]*?\b(\w+)\b
##! These expressions try to match the logic using the operator,
##! so when the operator targets a TRUE operation, the initial match
##! should be present after the operator, logically meaning TRUE
##!
##! Examples:
##! '1' = '1'
##! 'f' like 'f'
##! This one will also match the "equal" part of '<=' and '>='
=
##! <=> NULL-safe equal to operator in MySQL
<=>
##! Like queries allow you to use wilcards: '%'
like
sounds\s+like
##! GLOB operator is used to match text values against a pattern
glob
##! String based regexp. These don't use % as wildcard.
rlike
regexp