我不明白为什么这个用于验证国际电话号码的正则表达式在嵌入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
答案 0 :(得分:4)
XML架构支持组匹配,但不支持捕获或环视。这意味着它不是?:非捕获组。
根据http://www.regular-expressions.info/xml.html,它也不支持^和$ anchors。
答案 1 :(得分:3)
它可能是锚点(^
和$
)。在XML Schema中,所有regexes都隐式锚定在两端。不支持显式锚点。