使用正则表达式模式验证XML与XSD

6

我正在针对包含一些用于检查输入数据的正则表达式模式的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.'.

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


您的XML在哪里?这样我们就能看到生成错误的限制所处的上下文了。 - austin cheney
请注意,{1} 可以省略。 - Bart Kiers
1
感谢修复冗余的 {1}。目前这不再是问题,因为当我注意到删除“\b...\b”后,它没有错误了。但现在我很好奇在哪里可以设置所提及的 “选项设置”,知道在哪里操纵这些隐藏设置可能会很有用。 - Steel Plume
1个回答

2
"

\bXML Schema正则表达式中不受W3C规定的支持。错误消息意味着您可以通过更改设置来使用它,但这将使用非标准功能,这将破坏使用XML的目的。

我不确定错误消息真正意味着什么,但如果只是说正则表达式无效,那么会更有帮助。请不要在XSD中使用\b,并且如果您还没有查看regular-expressions.info网站的其余部分,请务必参考,这是一个很好的资源。"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接