我正在尝试创建一个正则表达式来验证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] ......)执行某些操作?
答案 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