我正在尝试创建一个正则表达式来验证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>
上面的代码对我不起作用。我怀疑我检查月份名称的方式是错误的。我可以把这个值和整个字符串进行比较吗?还是我必须按照value="([J][a][n][u][a][r][y]|[F][e][b]…)?
我怀疑有较短形式的匹配方式可以满足您的需求,但这应该可以:
(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