-1

我试图想出一个正则表达式来获取< Time >后跟接下来的四个字符。

我正在读取一个文件,可以找到< Time >部分,但无法获取接下来的四个字符。正则表达式中这个的语法是什么?

这是我目前的语法:

[string] $RunTimeLine = (Select-String -Path $IDCSwiftFlowXMLFile -pattern "<time>")
$RunTime = [regex]::match($RunTimeLine,"'<Time>".Groups[0].Value

我尝试在时间标签之后直接添加 {4} 但这没有返回任何内容。

谢谢。

4

2 回答 2

0

像这样的正则表达式查询会起作用吗 (?<=\<Time\>).{4}

应该代表捕获 4 个字符,只要它在前面。希望我解释正确。

我很抱歉评论过时的帖子。我只是认为它没有答案,并想提供帮助。我将来会注意这一点。

于 2014-07-11T14:47:48.723 回答
0

您的文档似乎是 XML 文档。为什么要使用正则表达式来访问节点值?

$myDoc = [xml] (Get-Content $IDCSwiftFlowXMLFile)
$timeNodes = $myDoc.GetElementsByTagName("time")
foreach ($node in $timeNodes)
{
    $time = $node.InnerXML
}
于 2013-01-30T10:34:06.203 回答