[英]Powershell Regex matches leading and trailing spaces
我想與Powershell匹配-替換所有未引用的$ test實例(以下示例中的第3、4、6、7行)
1) '$test'
2) test
3) $test
4) foo $test bar
5) foo '$test' bar
6) foo "$test" foo
7) "$test"
我用下面的正則表達式
'[^\'']\$test[^\'']'
但這也與空間匹配,例如第4行中的空間,導致替換操作對其進行修剪。
如果未嵌入單引號中,我該如何完全匹配$ test?
您可以使用下面的正則表達式在第3、4、6、7行中匹配$ test(即, $test
不包含在單引號中)
(?<!\')\$test(?!\')
說明:
(?<!\\')\\$test
負向超前,可確保它與單引號后面的字符串$test
不匹配。 (?!\\')
並且以下字符不能是單引號。 僅當兩個條件都滿足時,正則表達式引擎才匹配字符串$test
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.