繁体   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