0

我正在使用 SiteScope 中的动态磁盘监视器,我需要一个排除单词“Harddisk”和字符“D”的正则表达式。

到目前为止,我发现了这个:

^(?!.*Harddisk).*/percent full

如何在同一个表达式中添加排除“D”的部分?我试过这个并没有用:

^(?!.*Harddisk|^D).*/percent full

更多细节:

这个表达式带来了服务器拥有的所有磁盘的百分比:

/.*/percent full/

这不包括其名称以“Harddisk”开头的所有磁盘:

/^(?!.*Harddisk).*/percent full/

我需要改进最后一个表达式以排除所有“硬盘”以及磁盘“D”。

预先感谢您的帮助。

问候,埃斯特雷拉。

4

4 回答 4

0

把事情简单化。

m{/percent full} && !/\bHarddisk\b/ && !/D/
于 2014-01-09T20:27:50.877 回答
0

一位同事帮助我找到了答案,我想与您分享:

/^(?!.*[E])^(?!.*(HarddiskVolume)).*/percent full/

我希望这有帮助。

感谢所有回答这个问题的人!

-星辰

于 2014-01-21T21:25:58.357 回答
0

你可以试试这个:

^(?>[^HD/]++|\BH|H(?!arddisk)|/(?!percent full))+/percent full

(如果需要,不要忘记转义斜线)

于 2014-01-09T19:29:08.797 回答
0

也许以下内容会有所帮助:

use strict;
use warnings;

while (<DATA>) {
    print if !/(?=.*\bHarddisk\b)(?=.*\bD\b)/;
}

__DATA__
Harddisk A
disk D
Harddisk D

输出:

Harddisk A
disk D

评估的表达式if具有以下形式:!(x and y).

于 2014-01-09T20:01:40.667 回答