允许null和empty的正则表达式模式

时间:2016-04-07 09:01:17

标签: regex xml xsd regular-language

Iam使用当前在XSD中的正则表达式,如下所示

<xs:pattern value="[A-Z]{3}"/>

这适用于字母表。

但我也试图允许null,但不能

我试过把

[null]|[A-Z]{3}

但这也不接受null。

我希望接受null或empty。

请帮助

1 个答案:

答案 0 :(得分:1)

正则表达式对文本进行操作,无法确定字符串是否为null,它只能确定字符串是否为空。

要使匹配成为可选项,您可以将整个模式包含在(非)捕获组中,并在其后添加?量词:

<xs:pattern value="([A-Z]{3})?"/>

pattern regex is anchored by default以来,此([A-Z]{3})?将匹配空字符串或仅包含3个大写ASCII字母的字符串。