使用带有正则表达式模式的XSD验证XML

Ste*_*ume 5 java regex xsd sax

我正在针对包含用于检查输入数据的一些正则表达式模式的XSD解析XML文件,但只有这个正则表达式生成错误,即使它传递到Eclipse XSD插件:

   InvalidRegex: Pattern value 
   '(((com|org)\.)+(\b[a-z]+[.]{1}\b)+)?[A-Z]{1}[A-Za-z]+' 
   is not a valid regular expression. The reported error was: 
   'This expression is not supported in the current option setting.'.
Run Code Online (Sandbox Code Playgroud)

所以即使问题是由我可以安全删除的\ b边界引起的,使用SAX验证器在哪里可以找到致命的"当前选项设置"?

Ala*_*ore 2

\b指定的XML 模式正则表达式风格不支持W3C该错误消息暗示您无论如何都可以通过更改设置来使用它,但是这样您将使用非标准功能,这将违背使用 XML 的目的。

我不确定这就是错误消息的真正含义,但如果它只是正则表达式无效,那就会更有帮助。帮自己一个忙,忘记\b在 XSD 中使用。如果您还没有查看过regular-expressions.info站点的其余部分,那么它是一个很棒的资源。