试图在正则表达式处理中围绕前瞻和后视。
假设我有一个列出 PID 和其他内容的文件。我想构建一个正则表达式来匹配 PID 格式\d{1,5}但这也排除了某个 PID。
$myself = $$;
@file = `cat $FILE`;
@pids = grep /\d{1,5}(?<!$myself)/, @file;
在这个正则表达式中,我尝试使用(?<!TO_EXCLUDE)构造将数字匹配与排除相结合。这行不通。
示例文件:
456
789
4567
345
22743
root
bin
sys
如果有人能指出我正确的方向,将不胜感激。
也有兴趣了解在这种情况下这种消极的后视是否是最有效的。