Javascript 正则表达式到 XML 模式正则表达式

标签 javascript xml xsd

我有这个 Javascript 模式

^(\b[A-Z]\w*(\s|\.)*)+$

我尝试在我的 XML Schema 上使用它

<xs:pattern value="^(\b[A-Z][a-z]*(\s|\.)*)+$">

但是当我验证时我收到一条错误消息说 InvalidRegex: Pattern value '^(\b[A-Z][a-z](\s|.))+$' is not a有效的正则表达式。报告的错误是:“当前选项设置不支持此表达式。”。

有没有办法让我的 Javascript 模式适用于我的 XML 模式模式?

最佳答案

并非总是可以将 JS 正则表达式转换为 XSD 正则表达式,XSD 正则表达式不支持字边界、先行等某些内容,如 Michael Kay answer 中所述。 .

基于 your other question asking for a regex to test that all words starts with an uppercase character ,您可以编写另一个对 XSD 有效的正则表达式,例如这个,它测试一个(或多个)空格或点后面的字符不应该是小写字母。

([^\s\.]*([\s\.]+[^a-z])?)*[\s\.]*

关于Javascript 正则表达式到 XML 模式正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37131767/

相关文章:

javascript - 带有 AgeDifference 的 if 语句未正确计算最接近的年龄

javascript - Angular中数组的异步更新

xml - 当\n 字面打印时在 xml 文件中打印新行\n

c# - 如何获取表示两个 XML 文本之间差异的对象集合?

JavaScript 递归将列表格式从 XML 转换为 HTML

python - 如何修复 lxml 中的 XSD 导入错误?

xsd - DTD 或 XML 架构。哪一个更好?

javascript - 如何将事件和其他参数传递给单击处理程序

JavaScript MDN 教程 - 有关浮点不精确性的示例

java - 根据 XML 架构 (XSD) 验证 JSON