Bir kelimeyi eşleştirmek için
\v(\w+)
Vim yardımından :h \w
:
\ w kelime karakteri: [0-9A-Za-z_]
Bu, tam olarak kılavuzda açıklandığı şekilde çalışır. Ancak, ötesinde karakter içeren kelimeleri eşleştirmek istiyorum a-z
, örneğin
prästgården . Düzenli ifade Eşleştirme \v(\w+)
karşı
Prastgarden yerine, üç maçlara verim:
prästgården
^^ ^^^ ^^^^
Ötesinde karakter içeren kelimeler nasıl eşleştirilir a-z
? Yerel ayarım İngilizce olarak ayarlanmış ve mümkünse bu şekilde saklamak istiyorum.
Düzenleme: Sözcükler tek bir yerel ayara ait olmayabilir, ör.
prästgården
treść
\p{Word}
POSIX karakter sınıfı yerine kullanmak istersiniz . Perl'in POSIX karakter sınıfı işlemesinde, bunun yerine Unicode özelliklerini kullandığınızda kaçınmanız gereken birçok özel durum vardır.
[[:alpha:]]\+
bu durumda) burada istediğinizi yapması gerekir, ancak Vim belgelerine (:help regex
) göre : "Bu öğeler yalnızca 8 bit karakterler için çalışır." Burada OS X 10.8'de Vim 7.3 ile çalışıyor, ancak Linux'ta Vim 7.3 çalışmıyor, bu yüzden bu Vim'de buna izin veren Apple'a özgü bir şey olduğunu varsayıyorum. Ayrıca, Perl çok iyi Unicode desteğine sahip olmasına rağmen, Vim Perl bağlaması yoluyla yapmanın da başarısız olduğunu göreceksiniz. Harici bir Perl betiğine geçmeniz gerekebilir, böylece tam Unicode desteğini açabilirsiniz.