对于大多数Perl程序员来说,这可能是一个简单的问题,到目前为止,我只使用Perl两周,并且对Perl软件包非常不熟悉.
我有一个简单的XSD文件如下:
<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="elementname">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="field1" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
<xsd:element name="field2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Run Code Online (Sandbox Code Playgroud)
我想用上面的XSD验证XML文件,以确保这是一个有效的XML.我应该使用什么Perl模块?我更喜欢在*nix上的ActivePerl和Perl上都可用的模块.发布一些代码片段会非常有帮助.
谢谢
如何在Perl中使用regex进行以下转换?
British style US style
"2009-27-02" => "2009-02-27"
Run Code Online (Sandbox Code Playgroud)
我是Perl的新手并且对regex不太了解,我能想到的只是提取" - "的不同部分然后重新连接字符串,因为我需要动态进行转换,我觉得我的方法将非常缓慢和丑陋.
我有这个正则表达式(\d{4})-(\d{2})-(\d{2})来检测一个有效的日期,但是,它并不完美,因为一些传入的数据是2009-24-09(YYYY-DD-MM),有些是2009-09-24(YYYY-MM-DD) .
是否可以使用单行正则表达式来检测第二和第三部分是否大于12以更好地验证日期?