错误嵌入基于XML Schema(XSD)正则表达式(电话麻木验证)

问题描述:

我不明白为什么嵌入XML的架构时进行验证的国际电话号码,这个正则表达式给出了一个错误时:错误嵌入基于XML Schema(XSD)正则表达式(电话麻木验证)

<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

什么正则表达式?/ && > && /? – Axeman 2009-07-09 16:58:31

+0

对不起Axeman,有一个可视化问题 – Indrit 2009-07-09 17:09:21

+0

它在我测试它时起作用。我们如何重现您的问题? – 2009-07-09 17:17:38

这也许是锚(^$)。在XML Schema中,所有regexes都隐式锚定在两端。显式锚点不受支持。

XML模式支持组匹配,但不支持捕获或查找。这意味着它不是?:非捕获组。根据http://www.regular-expressions.info/xml.html,它也不支持^和$锚。