When creating queries and rules, Mergado is not case sensitive, i.e. the search is case insensitive. If I search for an uppercase A
, I will easily find a product with a lowercase a
.
Note: We have described how it is with element names and case sensitivity here: MERGADO 2 - Case-sensitivity
This post, however, is not about element names, but about searching element values within queries and rules.
If you need to search a case sensitively, i.e., there is a solution to this using regular expressions, or what are called REGEX FLAGS, which modify the behavior of how regular expressions are evaluated.
Case-sensitive queries
For creating queries, switch to MQL and use some query conditions within the value:
(?-i:
…text or regular expression…)
The entire condition might then look like this, for example:
PRODUCTNAME ~ "(?-i: mug)"
.
→ which will find products that have the word mug
in lowercase in their name.
Another example with a specific regular expression:
PRODUCTNAME ~ "(?-i:^[A-Z]{2})"
→ finds products that have the first two letters of PRODUCTNAME capitalized.
Case-sensitive rules
This works similarly in rules, e.g. for the “Find and Replace” rule type.
- Check the checkbox that you want to search as a regular expression
- In the find field, enter a regular expression wrapped in the syntax as above.
Example of how to remove text in CAPITAL LETTERS from a product name:
In the Find field, enter (?-i:[A-Z]{2,})
and leave the Replace field blank.
We can check the function of the rule for the monitored product: