I have a XML Schema with a regex restriction that matches three different options and looks similar to this:
somestring|someotherstring|
My problem is that xmllint does not like this regex. It gives the following error:
regexp error : failed to compile: expecting a branch after |
I am forced to comply with xmllint because of the environment.
My question is, what are other options to match empty string using regex in a XSD?
As I understand, negative look ahead is not available in a XSD regex, and I am at a loss for other options.
You may use an optional group:
(somestring|someotherstring)?
^ ^^
It will match these 2 words or an empty string. In XSD, all patterns are anchored automatically, so, no additional operators are necessary.
See what the regex matches.