Jump to content

Extension:RegexFunctions

From mediawiki.org
This page is a translated version of the page Extension:RegexFunctions and the translation is 100% complete.
MediaWiki manüel uzantıları
RegexFunctions
Sürüm durumu: kararlı
Uygulama Ayrıştırıcı işlevi
Açıklama Düzenli ifade tabanlı ayrıştırıcı işlevleri
Yazar(lar) Ryan Schmidt (Skizzerzmesaj)
En son sürüm 2.0.0 (2020-03-18)
MediaWiki 1.31+
Lisans Kamu malı
İndir
Kullanım
Quarterly downloads 12 (Ranked 125th)
Translatewiki.net adresinde mevcutsa, RegexFunctions uzantısını çevirin

RegexFunctions uzantısı düzenli ifade tabanlı ayrıştırıcı işlevlerini sağlar.

Kullanım

Şu an itibariyle, bu uzantı üç ayrıştırıcı işlevi tanımlamaktadır: rmatch, rsplit ve rreplace:

#rmatch:
{{#rmatch:string|pattern|then|else}}
string (gerekli) - İşlevin eşleşme için kullandığı metin.
pattern (gerekli) - Metin üzerinde kullanılacak düzenli ifade.
then (isteğe bağlı) - Eşleşme başarılı olursa ne döndürür. $# ve \# yakalanan metni içerir. Bir grubun ardından başka bir sayı gelmesini istiyorsanız ${#}# kullanın.
else (isteğe bağlı) - Eşleşme başarılı olmazsa ne döndürür. Varsayılan olarak boş bir dize.
#rsplit:
{{#rsplit:string|pattern|piece}}
string (gerekli) - İşlevin bölüneceği metin.
pattern (gerekli) - Metin üzerinde kullanılacak düzenli ifade. Metin yakalanmaz.
piece (isteğe bağlı) - Geri dönecek parça. Varsayılan değer 0'dır (ilk parça). Negatif sayılar, parçaları baştan başlayarak döndürür. Örneğin, -1 son parçadır.
#rreplace:
{{#rreplace:string|pattern|replacement}}
string (gerekli) - İşlevin yerini alacak metin.
pattern (gerekli) - Metin üzerinde kullanılacak düzenli ifade.
replacement (gerekli) - Eşleşen metnin yerini alacak metin. $# ve \# yakalanan metni içerir. Bir grubun ardından başka bir sayı gelmesini istiyorsanız ${#}# kullanın.

string parametresi dışında her parametre ad veya konuma göre belirtilebilir. Örneğin, {{#rmatch:some string|pattern=^.+$|then=success|else=failure}}. Vikinizin içerik dili İngilizce değilse, hem İngilizce hem de çevrilmiş bir ad kullanılabilir. Ayrıca, her işlev, normal ifadenin davranışını değiştirmenize izin veren aşağıdaki adlandırılmış parametreleri destekler:

  • multiline - Boş değilse ^ ve $, tüm dizenin başlangıcı ve bitişi yerine her satırın başlangıcı ve bitişi ile eşleşir.
  • caseless - Boş değilse, desen büyük/küçük harfe duyarlı değildir.
  • ungreedy - Boş değilse, * ve + açgözlülükle eşleşmezken, *? ve +? açgözlülükle eşleşir.
  • extended - Boş değilse, normal ifade boşluklar ve satır içi yorumlar içerebilir. Daha fazla bilgi için desen yardımı bölümündeki PHP belgelerine bakın.
  • dotall - Boş değilse, ., yeni satırlar dahil tüm karakterlerle eşleşir. Normalde yeni satırlarla eşleşmez.

Örneğin, {{#rmatch:XxXxX|x+|$0|caseless=1}} çıkış XxXxX sonuçlanır çünkü x+, kasasız değiştirici ayarlandığında hem büyük hem de küçük X eşleşir.

Desen yardımı

Sözdizimini oluşturma konusunda yardım için lütfen genel yardım için [1] ve değiştiricilere genel bakış için [2] okuyun.

Genelde desen üzerinde sınırlayıcılar gerekli değildir ve mümkün olduğunda okunabilirlik için atlanmalıdır, ancak desenden sonra tek harfli değiştiricileri belirtmek istiyorsanız gereklidir. Bu durumda, sınırlayıcıların eğik çizgi olması gerekir (başka bir sınırlayıcı türü desteklenmez).

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki RegexFunctions adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/RegexFunctions
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'RegexFunctions' );
    
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Ayrıca bakınız

  • ReplaceSet - tek bir metin dizesinde bir dizi yerine geçmeniz gerektiğinde iç içe #replace komutlarını kullanmak için mükemmel bir alternatiftir.
  • Regex Fun - daha fazla işlevselliğe sahip ancak sınırlamalar için herhangi bir özelleştirme değişkeni olmayan başka bir düzenli ifade uzantısı.