Regex 使用正则表达式的Grep文件扩展名

Regex 使用正则表达式的Grep文件扩展名,regex,xslt,Regex,Xslt,我有文件名的例子如下 1 Wireshark-win64-1.12.5.exe 2服务-Document.docx 无论如何,我可以使用一些通用正则表达式grep文件扩展名,并将其保存在xslt变量中。我使用了一些字符串函数,如下所示,但对于上面1中所示的值,它将不起作用 <xsl:variable name="fileExtension" select="substring-before(substring-after($filename,'.'),'&quot;')"/>

我有文件名的例子如下

1 Wireshark-win64-1.12.5.exe 2服务-Document.docx

无论如何,我可以使用一些通用正则表达式grep文件扩展名,并将其保存在xslt变量中。我使用了一些字符串函数,如下所示,但对于上面1中所示的值,它将不起作用

<xsl:variable name="fileExtension" select="substring-before(substring-after($filename,'.'),'&quot;')"/>

如果您使用的是XSLT 2.0,那么:

tokenize($filename, '\.')[last()]

将为您从$filename提取文件扩展名。

看起来像我正在使用的datapower固件版本,不支持XSLT 2.0。我无法获取文件扩展名。XSLT1.0中不支持正则表达式。但是,我相信IBM DataPower支持许多扩展,其中包括EXSLT str:tokenize扩展函数: