XSD RegEx验证

时间:2013-11-28 04:59:44

标签: xml regex xsd

我正在尝试创建一个正则表达式来验证XML元素。我对正则表达式相当新。

我想要实现的格式是[月份名称] [] [日]

例如,“1月1日”

这是我尝试过的。

<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="([January]|[February]|[March]|[April]|[May]|[June]|[July]|[August]|[September]|[October]|[November]|[December])[ ]([1-9]|[1-2][0-9]|[3][0-1])"/>
  </xs:restriction>
</xs:simpleType>

以上代码对我不起作用。我怀疑我检查月份名称的方式是错误的。我可以将值与整个字符串进行比较吗?或者我必须沿着值=“([J] [a] [n] [u] [a] [r] [y] | [F] [e] [b] ......)执行某些操作?

1 个答案:

答案 0 :(得分:1)

我怀疑有更短的形式匹配你正在寻找的东西,但这应该做的工作:

(January|February|March|April|May|June|July|August|September|October|November|December)\s?([1-9]|[12][0-9]|3[01])\b

您正在检查月份名称,0个或更多空格字符,然后是有效的月份整数。

以下是PCRE正则表达式的工作示例:http://regex101.com/r/cQ9nK8