为什么这个perl正则表达式不能捕获最后一个字符?

cal*_*ech 0 regex perl

让$ PWD =/Unix_Volume/Users/a/b/c/d

我希望:

echo $PWD | perl -ne 'if( /(\w+)[^\/]/ ){ print $1; }'
Run Code Online (Sandbox Code Playgroud)

显示"Unix_Volume".但是,它显示"Unix_Volum".为什么正则表达式不能捕获最后一个字符?

Ekk*_*ner 8

(\ w +)=> Unix_Volum

[^\/] => e(不是/)

/ => /