Regex 与引号后的其他项匹配的powershell正则表达式
在这个例子中,因为它是一个空格,所以它很好地匹配它。但是假设一个区域名称没有与其他区域匹配的空间。我只想匹配引号中的内容Regex 与引号后的其他项匹配的powershell正则表达式,regex,powershell,Regex,Powershell,在这个例子中,因为它是一个空格,所以它很好地匹配它。但是假设一个区域名称没有与其他区域匹配的空间。我只想匹配引号中的内容 'geoRegionName=“Washington”geoCityName=“Bonney Lake”'-match'(?使用子表达式[^”]+来(贪婪地)匹配除“([^”])之外的字符的非空运行(+),即所有内容都包括但不包括下一个”,无论这些字符是否包含空格: $str = 'geoRegionName="Washington" geoCityNam
'geoRegionName=“Washington”geoCityName=“Bonney Lake”'-match'(?使用子表达式[^”]+
来(贪婪地)匹配除“
([^”]
)之外的字符的非空运行(+
),即所有内容都包括但不包括下一个”
,无论这些字符是否包含空格:
$str = 'geoRegionName="Washington" geoCityName="Bonney Lake"'
if ($str -match '(?<=geoRegionName=")[^"]+') {
$Matches[0]
}
上述两个命令都会产生(请注意,封闭的“
已被删除,但很容易包含在内):
华盛顿
至于你所尝试的:
\S+
贪婪地匹配非空白字符(\S
)的非空运行(++
),其中包括“
字符,因此\S+.*”
在第一个空白之后的下一个”
)之前一直保持匹配,直到下一个。'geoRegionName=“华盛顿“geoCityName=“Bonney Lake”'-match'(?以下是如何在引号之间进行匹配:$string-match'(?)?
$str = 'geoRegionName="Washington" geoCityName="Bonney Lake"'
$str -replace '^geoRegionName="([^"]+).+', '$1'