Minimal unsatisfiable regular expression, XPath query

Regular expressions are a tool for matching generic text.  XPath queries are a tool for matching chunks of XML.  Both are search technologies.

When using search technologies it is occasionally quite useful to have a query that will never match anything – for SQL, this would be something like “SELECT 1 WHERE 1 = 0”.

My candidates for minimal unsatisfiable regular expression:

\b is a zero-width assertion that matches a boundary at the beginning or end of a word – specifically, it is true between a word-ish character (\w) and a non-wordish character (\W).  Since literal “a” and “c” are both wordish characters, this will never match.

Or, if you allow Perl extensions:

This is a negative lookahead for an empty string.  Since the empty string always matches everywhere, this will never match.

My candidate for minimal unsatisfiable XPath query:

This matches everything at or under the parent of the root element.  Since, by definition, the root element has no parent, this will never match.

Comments (0)