如何使用正则表达式检查 XML 中的“/”斜线
How to check for "/" slash in XML with Regular Expression
我在检查 XML 中的字符串的特定模式时遇到了一些问题。一切正常,但字符串可能包含一个“/”斜杠,这会打乱我的正则表达式。除了斜杠外,表达式工作正常。我尝试转义斜杠,但这不起作用。
错误表明,该模式不是有效的正则表达式。
感谢您的帮助。
<xs:simpleType name="idType">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z\+A-Z\/0-9_-]*"/>
</xs:restriction>
</xs:simpleType>
不需要对模式进行过度转义,使用
<xs:pattern value="[a-zA-Z0-9+/_-]*"/>
XSD 正则表达式模式是使用字符串指定的,而不是正则表达式文字(在 JavaScript/Ruby/PHP 中通常是这种情况),没有正则表达式分隔符。 /
不是特殊的正则表达式元字符,因此不应转义。
实际上,+
不必在字符 class 内进行转义,连字符位于字符 class 的 end/start 处时,也不必转义。
我在检查 XML 中的字符串的特定模式时遇到了一些问题。一切正常,但字符串可能包含一个“/”斜杠,这会打乱我的正则表达式。除了斜杠外,表达式工作正常。我尝试转义斜杠,但这不起作用。 错误表明,该模式不是有效的正则表达式。
感谢您的帮助。
<xs:simpleType name="idType">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z\+A-Z\/0-9_-]*"/>
</xs:restriction>
</xs:simpleType>
不需要对模式进行过度转义,使用
<xs:pattern value="[a-zA-Z0-9+/_-]*"/>
XSD 正则表达式模式是使用字符串指定的,而不是正则表达式文字(在 JavaScript/Ruby/PHP 中通常是这种情况),没有正则表达式分隔符。 /
不是特殊的正则表达式元字符,因此不应转义。
实际上,+
不必在字符 class 内进行转义,连字符位于字符 class 的 end/start 处时,也不必转义。