Xslt 如何使用XSL 1.0确定字符串中是否有日期

Xslt 如何使用XSL 1.0确定字符串中是否有日期,xslt,Xslt,我有一个字符串“text 21.04.15-24.04.15 12345678”。 我想知道这个字符串中是否有符合模式xx.xx.xx-xx.xx.xx的日期 我知道XSL1.0不支持正则表达式。我该怎么做 谢谢。XSL 1.0非常古老。为什么不能使用XSL2.0 使用正则表达式: \s+(\d{2}\.\d{2}\.\d{2})\s+-\s+(\d{2}\.\d{2}\.\d{2})\s+ 下面是一篇解释2003年XSL 2.0正则表达式的文章: 试试: contains(translate

我有一个字符串“text 21.04.15-24.04.15 12345678”。 我想知道这个字符串中是否有符合模式xx.xx.xx-xx.xx.xx的日期

我知道XSL1.0不支持正则表达式。我该怎么做


谢谢。

XSL 1.0非常古老。为什么不能使用XSL2.0

使用正则表达式:

\s+(\d{2}\.\d{2}\.\d{2})\s+-\s+(\d{2}\.\d{2}\.\d{2})\s+

下面是一篇解释2003年XSL 2.0正则表达式的文章: 试试:

contains(translate($string,'123456789', '000000000'), '00.00.00')
请注意,这可能返回误报,例如,如果字符串包含“123.45.3789”。通过一些努力,您可以通过包含周围的标点符号(假设您知道给定文本中可能出现的所有标点符号)来消除这些错误


还要注意,没有执行任何测试来确保模式表示有效日期。

您在哪个平台上使用哪个XSLT 1.0处理器?NET中的XSLT1.0处理器(如
XslCompiledTransform
)可以调用.NET函数。例如,Java中的XSLT1.0处理器可以调用Java。MSXML可以调用Javascript或VBScript。因此,根据XSLT处理器的不同,您可以轻松地将日期或正则表达式测试委托给另一种语言。谢谢。这正是我所需要的。我正在使用一个使用XSL 1.0的系统。我们还没有迁移到XSL 2.0。请注意,在这些论坛上回答问题的一些人非常乐意让您使用一种古老的语言来浪费自己的时间,但当您也想浪费他们的时间时,他们会感到沮丧。