XML正则表达式赋予Java正则表达式

时间:2015-01-22 17:19:24

标签: java regex xml xsd

是否有工具或库从XSD中使用的正则表达式风格(例如,如here所述)转换为Java Pattern类使用的风格?或者,如果失败了,一个可以直接处理XML正则表达式味道的Java正则表达式库?或者失败了,以下XML正则表达式的等效Java正则表达式是什么?

<xs:pattern value="[\w\d][\w\d\-_\.!~\*'\(\)\+=]{2,}"/>

1 个答案:

答案 0 :(得分:2)

是的,请参阅

http://www.w3.org/XML/Schema#xsdregex

但请注意,它针对的是JDK 1.4正则表达式,而不是JDK 1.5。它的大部分工作都与JDK 1.4无法正确处理非BMP字符这一事实有关,这个问题在JDK 1.5中已经消失。如果你找到一个合适的Saxon版本(试试9.1),你会发现这个代码的一个版本适合于JDK 1.5。 (更新版本的Saxon本身实现了XSD / XPath正则表达式方法。)