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