我是 XML-Schema-to-JSON-Schema 编译器/转换器的作者。最近,一位用户询问是否可以在 JSON 架构中支持 xs:pattern
。
JSON 模式确实支持 regular expressions所以理论上这应该是可能的。
但是,这假设 XML 模式的正则表达式语法和语义与 JavaScript/ECMAScript 的语法和语义兼容。因为如果不是,我可能无法毫不费力地解析一种正则表达式方言并将其翻译为另一种正则表达式方言。
如果没有对这两个规范进行彻底分析,我就无法回答这个问题:
所以我想问:
XML Schema 正则表达式与 JavaScript/ECMAScript 正则表达式兼容吗?
具体来说,我可以在 JavaScript 中使用 XML 架构中的有效正则表达式(通过 RegExp
或类似方法)吗?
我读到 XML 模式正则表达式相当有限,因此希望它们能够在更强大的环境中工作,但我很难说这里是否属于这种情况。
这里我假设使用 XML Schema 1.0 和 ECMAScript 5.1。
最佳答案
ES5 和 XML Schema 正则表达式语法不兼容。
在 XML Shema 中,您可以使用 Unicode 类别类(称为 category escapes ),但不能在 JavaScript ES5 中使用它们。
此外,character class subtraction JavaScript 正则表达式不支持。
此外,\w
、\d
和 \s
速记类可以匹配 Unicode 符号,但在 ES5 中则不能。 \i
、\l
、\c
、\C
"multi-character escapes" ES5 也不支持。
关于javascript - XML Schema 正则表达式与 JavaScript/ECMAScript 正则表达式兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33482031/