簡體   English   中英

Powershell正則表達式匹配前導和尾隨空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM