如何使用正则表达式检查XML中的“ /”斜杠

时间:2019-06-05 07:27:05

标签: regex xml xsd schema

检查特定模式的XML字符串时遇到一些麻烦。一切正常,但字符串中可以包含“ /”斜杠,这弄乱了我的正则表达式。该表达式可以正常工作,但斜杠除外。我试图转义斜线,但这不起作用。 该错误表明,该模式将不是有效的正则表达式。

感谢您的帮助。

<xs:simpleType name="idType">
    <xs:restriction base="xs:string">
        <xs:pattern value="[a-z\+A-Z\/0-9_-]*"/>
    </xs:restriction>
</xs:simpleType>

1 个答案:

答案 0 :(得分:3)

您不需要越过图案,使用

<xs:pattern value="[a-zA-Z0-9+/_-]*"/>

XSD regex模式是使用字符串而不是regex文字(在JavaScript / Ruby / PHP中通常是这种情况)指定的,没有regex分隔符。 /不是特殊的正则表达式元字符,因此不应转义。

实际上,+既不必在字符类中转义,连字符位于字符类的末尾时也不必转义。