(?!\.php)
là một toán tử regrec perl. less
thường sử dụng API regex POSIX của hệ thống, do đó, điển hình là GNU mở rộng các biểu thức chính quy trên hệ thống GNU, vim
sử dụng vim
các biểu thức chính quy.
Trong vim
, như đã được hiển thị bởi cuonglm, tương đương index(?!\.php)
sẽ là index\(\.php\)\@!
hoặc \vindex(\.php)@!
.
Đối với less
, tại thời điểm biên dịch, bạn có thể chọn thư viện regex / API và kết quả là loại regex sẽ sử dụng:
--with-regex={auto,gnu,pcre,posix,regcmp,re_comp,
regcomp,regcomp-local,none}
Select a regular expression library auto
Theo mặc định, mặc dù, less
sẽ sử dụng POSIX regcomp
với REG_EXTENDED, vì vậy bạn sẽ nhận được các biểu thức chính quy mở rộng của hệ thống của mình, do đó, thường là một cái gì đó tương tự như với grep -E
.
Trong GNU mở rộng regrec, không có cái nhìn tương đương phía sau hoặc nhìn về phía trước toán tử.
Bạn có thể làm điều đó một cách khó khăn:
index($|[^.]|\.($|([^p]|p($|([^h]|h($|[^p]))))))
Với less
, bạn có thể sử dụng &
khóa để lọc các dòng chứa index.php
( &!index\.php
) và sau đó tìm kiếm index
( /index
). (bạn vẫn bỏ lỡ các phiên bản khác index
xuất hiện trên một dòng cũng có chứa index.php
).