在xml架构(xsd)上嵌入正则表达式(phone numb validate)时出错

时间:2009-07-09 16:55:23

标签: regex xsd

我不明白为什么这个用于验证国际电话号码的正则表达式在嵌入xml-schema时会出错:

<xs:simpleType name="phoneType">
  <xs:restriction base="xs:string">
      <xs:pattern value="^\+(?:[0-9] ?){6,14}[0-9]$" />
  </xs:restriction>
</xs:simpleType>

它出了什么问题?支持组匹配吗?为什么Xml Schema不支持?

非常感谢。

Indrit

2 个答案:

答案 0 :(得分:4)

XML架构支持组匹配,但不支持捕获或环视。这意味着它不是?:非捕获组。

根据http://www.regular-expressions.info/xml.html,它也不支持^和$ anchors。

答案 1 :(得分:3)

它可能是锚点(^$)。在XML Schema中,所有regexes都隐式锚定在两端。不支持显式锚点。

相关问题