Notepad++ has a "regular expression" search but it does not implement the pipe OR
| operator, which allows you to take two regular expressions and union them into another regular expression. As we know, regexes are closed under three operations, union, concatenation, and Kleene star, implemented by
|, implicitly, and by
* respectively (or their respective backslash-escaped counterparts, depending on host language).
Does this mean that Notepad++'s implementation is incomplete (i.e. it does not allow searching regular expressions so therefore this is false advertisement of features)? Or am I missing something by jumping to that conclusion? After all, only the most straightforward way of constructing a unioned language is unavailable to me, I need to prove that I cannot construct the language using any combination of remaining operators available in order to have an actual counter-example.
But it stands to reason that without my pipe I see no way of simply specifying a match for
ab|ba using any other combination and yet this is clearly a regular expression. Is that counterexample enough? (thanks for corrections for this counterexample folks)
http://scintilla.org/SciTERegEx.html outlines the available operators.