2016-03-18 19 views
0

Perl'de varsayılan davranışlarla ilgili regexp eşleşme davranışını belirten bir genel seçenek var mı? i seçenek eşleme operatörü olmadan da varsayılan olarak durumu görmezden gelmek gibi.Varsayılan regexp davranışı Perl?

+4

arıyor olabilir Neden bunu yapmak gerekiyor? Herkesin nasıl çalıştığını bildikleri bir şeyi değiştiren kesinlikle küresel bir değişime neden olabilecek olası bir solucan olabilir. – Sobrique

cevap

8

Sen re pragma

use re '/ix'; 
"FOO" =~/foo /; # /ix implied 
no re '/x'; 
"FOO" =~ /foo/; # just /i implied 
+4

Bunun küresel olmadığına dikkat edin, ancak yalnızca geçerli sözcük kapsamı için geçerlidir. Modüller ('katı' gibi şeyler de dahil olmak üzere) büyük/küçük harfe duyarlı eşleşmeye dayalı olduğundan küresel bir bayrak kötü bir fikir olurdu. – ThisSuitIsBlackNot

+1

Daha fazla sonuç ve özellik var. (Örnek: 're/flag' yerel ayar pragma'yı ve regex için 'unicode_strings' özelliğini 'geçersiz kılar - bu da' re/flag 'öğesinden sonra geri yüklenir. – zdim