Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用XSLT从字符串中查找动态长度数字_Regex_Xslt_Xslt 2.0 - Fatal编程技术网

Regex 使用XSLT从字符串中查找动态长度数字

Regex 使用XSLT从字符串中查找动态长度数字,regex,xslt,xslt-2.0,Regex,Xslt,Xslt 2.0,我输入了如下所示的XML <?xml version = "1.0" encoding = "UTF-8"?> <root> <param>:22:/ABC/GID:50749612002 BOOK USER REF: 12311111112222 XYZ: DEF BK ID:3333 3333 JKL:MNN - VZXVXHFHF DETA ABC:DEF ORDERID:989796123456789.GKLT C:0006789 FASD

我输入了如下所示的XML

<?xml version = "1.0" encoding = "UTF-8"?>
  <root>
    <param>:22:/ABC/GID:50749612002 BOOK USER REF: 12311111112222 XYZ: DEF BK ID:3333 3333 JKL:MNN - VZXVXHFHF DETA ABC:DEF ORDERID:989796123456789.GKLT C:0006789 FASDFSF.FYRTY 53546475</param>
  </root>

:22:/ABC/GID:50749612002图书用户参考号:12311111112222 XYZ:DEF BK ID:3333 3333 JKL:MNN-VZXVXHFHF DETA ABC:DEF订单ID:989796123456789.GKLT C:0006789 FASDFSF.FYRTY 53546475

需要使用XSLT提取ORDERID的帮助

考虑将节点值提取到变量
$param

<xsl:variable name="param">
    <xsl:value-of select="/root/param"/>
</xsl:variable>

regex
*?ORDERID:(\d+).\w{4}.
在中演示。

考虑将节点值提取到变量
$param

<xsl:variable name="param">
    <xsl:value-of select="/root/param"/>
</xsl:variable>

regex
*?ORDERID:(\d+).\w{4}.
在演示。

您尝试了什么?什么不起作用?你得到了什么?你期待什么?什么不适用于您的代码以及它在哪里?您已经将其标记为,因此使用XSLT/XPath 2.0中的函数(如
tokenize
matches
支持正则表达式或XSLT2中引入的
xsl:analyze string
指令)来使用正则表达式应该不会太困难。所以,利用它们,告诉我们如果你不能让它工作,它是如何失败的。你尝试了什么?什么不起作用?你得到了什么?你期待什么?什么不适用于您的代码以及它在哪里?您已经将其标记为,因此使用XSLT/XPath 2.0中的函数(如
tokenize
matches
支持正则表达式或XSLT2中引入的
xsl:analyze string
指令)来使用正则表达式应该不会太困难。所以,利用它们,告诉我们如果你不能让它工作,它是如何失败的。