@awijas, the recommended approach is the AND heuristic mentioned for legibility and maintainability, although since it is an heuristic there might be false negatives.
If you cannot afford the occasional false negatives, you can often dig a little bit more in Regex to find a fully deterministic solution (for one instance of check, not two) instead of an heuristic one. For example, in this case it would be:
- Source :
"<check$" or "<check[,\.]" or "<check [^b][^o][^x]"
Which can be read as: "Find 'check' at end of the segment, or the word check followed by a comma or period, or the word check plus a space followed by something that is not "box".
In general checklist items will be heuristics that can be improved over time as false positives and false negatives are detected. Obviously the limits are the Regex and Powersearch search grammar, which can be very high if mastered, but often the outcome will be a heuristic.
If the heuristic capabilities provided by the search engine still come short for some of your checks, there is always the resource of writing a Xbench QA plugin in C++ or Delphi (samples here), whose flexibility can elevate the processing of the segment to even machine learning levels, while still leveraging the whole Xbench environment (parsing and Edit Source, for example).