Yes!
For simpler comparisons, AMPS (starting with 5.2) supports case-insensitive functions such as STREQUAL_I
for comparing two strings without regard to case and INSTR_I
for locating one string inside another string without regard to case.
AMPS also supports UPPER
and LOWER
functions, which can be used to normalize the case of incoming fields.
For example, the following two filters are equivalent:
STREQUAL_I(/name, 'JANE')
UPPER(/name) = 'JANE'
When comparing multiple values, use the UPPER or LOWER functions. For example:
LOWER(/name) IN ('jane', 'george', 'carla', 'ferdinand')
For more complicated comparisons, or earlier versions of AMPS, AMPS filters support PCRE (perl-compatible regular expressions), which provide a wide variety of regex modifiers including a modifier to make matches case-insensitive.
In this case, you use the
(?i)
modifier to turn on case-insensitive matching.
Using this modifier, the following regular expression matches apple
, Apple
, appLE
, aPpLe
, or any other permutation of case:
(/pie/filling LIKE "(?i)ˆapple$")
See the AMPS User Guide or the PCRE documentation for the full set of modifiers available.
Keywords: PCRE, regex modifiers, regular expressions, case-insensitive matching, PCRE support
Comments