我正在寻找Powershell中的正则表达式来检查字符串是否包含一些以$
开头并以$
结尾的文本。Powershell中的正则表达式
Ex。如果我在"/SUBSCRIPTIONS/$paramSubscriptionId$/RESOURCEGROUPS"
字符串中搜索,那么它应该返回paramSubscriptionId
。
我正在使用'[$?$]'
,但它没有按预期工作。有人可以帮助我吗?
我正在寻找Powershell中的正则表达式来检查字符串是否包含一些以$
开头并以$
结尾的文本。Powershell中的正则表达式
Ex。如果我在"/SUBSCRIPTIONS/$paramSubscriptionId$/RESOURCEGROUPS"
字符串中搜索,那么它应该返回paramSubscriptionId
。
我正在使用'[$?$]'
,但它没有按预期工作。有人可以帮助我吗?
尝试:
$str = '/SUBSCRIPTIONS/$paramSubscriptionId$/RESOURCEGROUPS'
if($str -match '\$(.+?)\$') { $Matches[1] }
谢谢@Frode。如果我尝试使用'$ str =“/ SUBSCRIPTIONS/$ paramSubscriptionId $/RESOURCEGROUPS”',那么我不会得到任何输出 –
您需要单引号才能使其成为字符串。 '$'在powershell(variable-prefix)中是特殊的。 –
对。但是这行来自不同的文件(.json),它包含“”而不是“' –
能否请您分享您所使用的代码?没有它,*它没有按预期工作*太不清楚。 –
您是否尝试过正则表达式解释器?见例如[这一个](https://regex101.com/r/dC5gO1/1),它非常清楚你的正则表达式,应该是一个清楚的暗示,仍然缺少的东西。 – Jeroen
@WiktorStribiżew:嗯,我猜想像'$ s -match'[$?$]''。 – Joey