thể trùng lặp:
A Regex that will never be matched by anythingMột regex Perl đơn giản đảm bảo không bao giờ khớp với một chuỗi?
Tôi có một kịch bản mà phải mất một regex như một tham số. Theo mặc định tôi muốn thiết lập các regex để cái gì đó sẽ không bao giờ phù hợp với bất kỳ chuỗi, vì vậy tôi chỉ có thể nói
if ($str =~ $regex)
mà không ví dụ phải kiểm tra xác định ($ regex) đầu tiên.
tôi đến với
qr/[^\s\S]/
nhưng không biết nếu điều này sẽ phù hợp với một số nhân vật utf8 mà không phải là một không gian cũng không một tổ chức phi không gian.
giải pháp MJD là tốt hơn so với bất cứ điều gì khác được cung cấp tại đây hoặc trên các câu hỏi dup cáo buộc rằng đây xứng đáng được lưu giữ. – tchrist
@tchrist: Từ quan điểm của tôi đã được thừa nhận hẹp, chỉ là về bất cứ điều gì bởi MJD là vàng nguyên chất. Người đàn ông là một Perl Alchemist hoặc một cái gì đó. – Hugmeir
Để chiếu sáng: mẫu rỗng '//' hoặc '(? :)' không xác nhận bất cứ điều gì, và do đó luôn phù hợp. '(?!)' là một lookahead tiêu cực cho mẫu rỗng (cái gì nằm giữa '!' và ')' là phần thân của xác nhận) và do đó không bao giờ có thể khớp. – hobbs