在XSD文件中,模式[! - 〜] *实际检查的是什么?

时间:2012-11-05 14:10:50

标签: regex xsd

我进行了广泛的搜索,但尚未找到解释正则表达式的任何地方:[ !-~]*或者就此而言([!-~]|[ ])*[!-~]([!-~]|[ ])*

我使用过多个RegEx测试人员,他们似乎接受了所有输入。我已经读过XSD接受一种独特形式的RegEx并且不接受所有RegEx语句,因此,这可能不是标准的RegEx表达式(我不相信)。我唯一的提示是,第一个表达式的类型名称为an,第二个表达式为anM。我相信,在某种程度上,这是字母数字和字母数字的缩写倍数,但我想100%确定这是真正接受的,而不是做出假设。

1 个答案:

答案 0 :(得分:5)

[ !-~]匹配从!~范围内的空格或任何字符,其中范围由ASCII / Unicode顺序定义。顺便提一下,!是最后一个可打印ASCII字符的第一个~,因此它将匹配任何可打印的ASCII字符或空格。

([!-~]|[ ])*[!-~]([!-~]|[ ])*类似,但它需要一个非空格字符。 [!-~]|[ ][ !-~]相同。