正则表达式在XSL中搜索,匹配后选择字符串



我有一个解决方案,其中文件名有一个前缀显示PDF的文件大小。我需要将该值拾取到一个xml文件中,该文件包含XSLT收集的许多其他信息。

无论如何我不能得到这个正则表达式匹配工作。文件名的结构如下例所示:776524_P9466_Novilon_Broschyr_SE_Omslag.xml,其中下划线前的数字为文件大小。

我有一个Regex搜索模式_(.*),我可以验证它将匹配第一部分数字之后的所有内容。

这是我遇到问题的XSL:

<xsl:param name="find_size">
    <xsl:text>(_.*)</xsl:text>
</xsl:param>
<xsl:variable name="filename_of_start"><xsl:value-of select="replace($filename_of_file, '$find_size', '')"/></xsl:variable>
    <artwork_size><xsl:value-of select="$filename_of_start"/></artwork_size>

$filename_of_file有字符串:776524_P9466_Novilon_Broschyr_SE_Omslag.xml

我也试图匹配下划线之前的数字,并替换为匹配,但也没有得到工作。其他替换,我从字符串的开头删除其他匹配项。

谢谢

如何使用substring-before() XPath函数?

<xsl:variable name="file_size" select="substring-before($filename, '_')" />

不要replace($filename_of_file, '$find_size', ''),要replace($filename_of_file, $find_size, '')

最新更新