我从invoke-webrequest得到以下几行:
$ git clone https://github.com/awaitility/awaitility.git
从此摘录中,我只需要将numVersion Number保留在简单引号之间==> numVersion = 'v1.1805.24',
if(numVersion!="#@numVersion@#" && numVersion!="v1.1805.24") {
。
但是我得到的是所有行:
v1.1805.24
代码如下:
numVersion = 'v1.1805.24',
if(numVersion!="#@numVersion@#" && numVersion!="v1.1805.24") {
答案 0 :(得分:0)
您可以使用
$r.content -match "(?<=numVersion\s*=\s*')v[0-9.]+"
请参见regex demo。
然后,您需要的值将在$matches[0]
中。或者,您也可以捕获所需的文本:
$r.content -match "numVersion\s*=\s*'(v[0-9.]+)"
然后,值将在$matches[1]
中。
模式详细信息
(?<=numVersion\s*=\s*')
-匹配但不消耗numVersion
和一个=
并带有0+空格和一个'
字符的正向后视v[0-9.]+
-v
,然后是1个或多个数字或.
个字符。您可以在这里仅用[^']+
替换此模式,但是它不适用于当前任务。答案 1 :(得分:0)
最简单的解决方案是:
$r.content -match "'([\S]+)'"
带引号的值位于$matches[0]
中,不带引号的值位于$matches[1]
中。