Java正则表达式vs XSD正则表达式

Java正则表达式vs XSD正则表达式,java,regex,xsd,Java,Regex,Xsd,我有一个XSD,其字段具有以下模式值: <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,6}(/([IXCDVML]+)|([0-9]+))?"/> </xs:restriction> 如何在Java中编写上述XSD?XSD中的正则表达式在开头和结尾处由^和$隐式锚定,但Java中的正则表达式不是,因此显式添加它们: ^[0-9]{1,6}(/([IXCDVML]+)|([

我有一个XSD,其字段具有以下模式值:

<xs:restriction base="xs:string">
    <xs:pattern value="[0-9]{1,6}(/([IXCDVML]+)|([0-9]+))?"/>
</xs:restriction>


如何在Java中编写上述XSD?

XSD中的正则表达式在开头和结尾处由
^
$
隐式锚定,但Java中的正则表达式不是,因此显式添加它们:

^[0-9]{1,6}(/([IXCDVML]+)|([0-9]+))?$
:

注意:与一些流行的正则表达式语言不同(包括 由Perl和标准Unix实用程序定义的),常规 此处定义的表达式语言隐式地锚定所有正则表达式 表达式的头部和尾部,作为正则表达式最常用的部分 .pattern.中的表达式用于匹配整个文本


同样的事情也适用于
String.matches()