使用正则表达式在Powershell中查找字符串中的字符串

3

需要使用正则表达式和powershell来完成以下操作。我有以下示例字符串:

<INPUT TYPE="hidden" NAME="site2pstoretoken" VALUE="v1.2~04C40A77~23"\><INPUT TYPE="hidden" NAME="p_error_code" VALUE="">

我希望从这个示例字符串中提取的唯一内容是存储在VALUE中的哈希值。 哈希值非常长,因此我需要捕获VALUE="....HASH...."\>之间的所有内容。

正则表达式将是什么样子?

1个回答

3

尝试使用此方法,但要注意使用正则表达式解析HTML不是一个好主意

$regex = [regex]'(?<=VALUE=")[^"]*'
$regex.Match('te2pstoretoken" VALUE="v1.2~04C40A77~23"\><INP').Value

编辑: 这段代码也可以正常工作:

if ('te2pstoretoken" VALUE="v1.2~04C40A77~23"\><INP' -match '(?<=VALUE=")[^"]*') { 
   $matches[0] 
}

@stej:使用Match().Value和Match().Groups[index].Value有什么区别? - KalenGi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接