我的表格中有一个XML列,其中包含此xsd片段:
<xsd:element name="Postcode" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[0-9]{4}$" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
正则表达式应该需要一个包含4位数字的字符串。它在Visual Studio中完美验证,是一个正确的正则表达式。
另一方面,SQL Server不会接受它。我收到的错误消息是:XML Validation: Invalid simple type value: '1234'. Location: / * : Donor[1]/*:Postcode[1].
我的电子邮件地址regex工作正常,但无法使这个简单的数字正则表达式工作。
答案 0 :(得分:1)
您的源XML是这样的:
<Postcode>1234</Postcode>
或者像这样:
<Postcode>
1234
</Postcode>
由于您正在修剪字符串(使用^
和$
),请确保您的XML看起来像前者而不是后者。
答案 1 :(得分:1)
XML Schema正则表达式风格不支持开始和结束锚点;所有比赛都始终固定在两端。它可能试图在字面上匹配'^'和'$'。
答案 2 :(得分:0)
不,字符串周围没有空格。
我的电子邮件地址正则表达式完美无缺。