Powershell - notMatch

时间:2012-04-23 17:29:25

标签: regex powershell

我想从文件中选择与特定模式不匹配的所有行; 我知道我必须使用select-string的-notMatch选项,但我无法弄清楚如何。 (我正在寻找类似GREP -v功能的东西) 任何例子都会有用。 提前谢谢。

2 个答案:

答案 0 :(得分:4)

我认为你仍然希望match而不是notmatch。要排除函数返回类型或注释,您需要“负面看待asserion”。也许这会满足你的需求?

$f = 'my_function'
select-string test.txt -Pattern "(?<!(void|double|char|int)\s+|//.*)\b$f\b"

如果在源文本中找到“...”,则(?<!...)部分说不匹配。

答案 1 :(得分:4)

您是否可以使用以下

-notmatch "(?<!(void|double|char|int)\s+|//.*)\b$f\b"