Ana içeriğe geç
SubtitleMatrix

Düzenli ifadeyle değiştir

Metin ve stilDüzenli ifadeyle değiştir
Ya da altyazı metnini yapıştırın

Seçenekler

Her repliğin metnine karşı eşleştirilen bir düzenli ifade. Her eşleşme değiştirilir. Bu bölümdeki iki sayfa kutuyu paylaşır: biri elinizdeki bir desen için boş açar, diğeri iki yönde de düzenleyebileceğiniz bir desenle başlar.

Her eşleşmenin dönüşeceği şey. Her eşleşmeyi silmek için boş bırakın. Birebir bul-değiştir sayfasından farklı olarak burada dolar işareti özeldir: $1 eşleşmenin ilk ayraç grubunu, $& tüm eşleşmeyi, $$ ise düz bir dolar işaretini temsil eder.

Desenin derlendiği harfler. g ve u varsayılan olarak açıktır: u, desenin metni kod birimi yerine karakter karakter okumasını sağlar; \p{L} ve benzerlerinin söylediği anlamı kazanmasını sağlayan budur. Büyük-küçük harfi yok saymak için i, satır başı ve sonu için m, noktanın satır sonunu eşleştirmesi için s ekleyin. Hiç bayrak olmadan derlemek için kutuyu temizleyin. Başka herhangi bir harf yok sayılmak yerine reddedilir, çünkü istemediğiniz bayraklarla çalışan bir desen sessizce başka bir anlama gelen bir desendir.

Zamanlamaların hangi kare hızında sayıldığı. Format sayfalarında MicroDVD’nin ihtiyaç duyduğu şey budur, çünkü zamanlamayı kare numarası olarak saklar. Kare hızı sayfalarında ise dosyanın hangi hıza göre zamanlandığı — altyazının hazırlandığı sürüm — ve sayfanın ikinci kutusu altyazıyı birlikte kullanacağınız videonun hızını alır. 23,976, 24, 25, 29,97, 30, 50, 59,94 ve 60 yaygın olanlardır. Yanlış vermek tüm zaman çizelgesini kaydırır; kare hızı sayfalarında ise sabit bir miktar yerine bir oran kadar kaydırır.

Çalıştırmak için Desen alanını doldurun.

Bu sayfa altyazı repliklerinin içindeki metni sizin yazdığınız bir desenle yeniden yazar. Desen sabit bir dize değildir: \d+ herhangi bir rakam dizisi, (cat|dog) iki sözcükten biri, nokta ise herhangi bir karakter anlamına gelir. Her replikteki her eşleşme tek geçişte değiştirilir ve sayfa kaç yerin değiştiğini bildirir. Yalnızca metin yer değiştirir; her başlangıç ve bitiş zamanı olduğu gibi taşınır.

Yerine koyma kutusu da sabit bir dize değildir. Ondaki dolar işareti özeldir: $1 eşleşmenin ilk parantezli grubunun yakaladığı şeyi, $& eşleşmenin tamamını, $$ ise gerçek bir dolar işaretini temsil eder. Binlerce farklı satırı tek kuralın toparlamasını sağlayan budur: noktadan önceki kaçak boşluğu silerken noktalamayı korumak, çünkü noktalama grubun yakaladığı şeydir.

Desenler g ve u açıkken çalışır. g yalnızca ilkini değil her eşleşmeyi bulur; u desenin metni kod birimi yerine karakter karakter okumasını sağlar ve \p{L} ifadesinin harf anlamına gelmesinin nedeni odur. Büyük küçük harf yok saymak için i, çapaların satır satır çalışması için m, noktanın satır sonunu eşleştirmesi için s ekleyin. Bayrak kutusunu temizlerseniz hiçbiri çalışmaz. Başka herhangi bir harf sessizce yok sayılmak yerine bütün çalıştırmayı reddeder, çünkü istemediğiniz bayraklar altında çalışan bir desen sessizce başka bir anlama gelen bir desendir.

Satır içi biçimlendirme, dürüst bir yeri olduğu sürece birlikte taşınır: etiket düzenleme dışındaysa kayar, içindeyse uzar. Bir eşleşme bir etiketin kenarını aşarsa işaretleme düşürülür ve kayıp raporunda sayılır, çünkü alternatif italiklerin yanlış sözcükleri sarmasıdır. Hiçbir şey yüklenmez, her dosya kendi biçiminde geri yazılır ve bütün bir sezon kuyruktan aynı anda geçebilir.

Türkçe metin için u bayrağının somut karşılığı şudur: \p{L} ifadesi ç, ğ, ı, İ, ö, ş ve ü harflerini de harf sayar, bu yüzden yalnızca ASCII harflerine göre yazılmış bir sınıf Türkçe altyazının yarısını kaçırır. Harf sınıfı yazarken \p{L} kullanmak, elle sayılmış bir aralıktan daha güvenlidir.

Örnekler

Noktalamayı yakalama grubuyla korumak

Girdi

1
00:00:01,000 --> 00:00:02,000
We stopped , and waited .

2
00:00:03,000 --> 00:00:04,000
Right !

Çıktı

1
00:00:01,000 --> 00:00:02,000
We stopped, and waited.

2
00:00:03,000 --> 00:00:04,000
Right!

Desen bir boşluk dizisi ve ardından . , ! ? karakterlerinden biri; parantez o noktalamayı birinci grup yapıyor, böylece $1 onu geri koyuyor. Üç eşleşme, üç değişiklik. Birebir arama bunu hiç ifade edemez: yalnızca bir sabit dizeyi başka bir sabit dizeye çevirebilir.

Tek desen, iki yazım

Girdi

The Colour of the sky.
colourless and calm.

Çıktı

The color of the sky.
colorless and calm.

Bayrak kutusunda i varken colour büyük harfli yazımı da yakalar. Bayrağın yapmadığı şeye dikkat edin: Colour içindeki büyük harf gitmiştir, çünkü bir desenin sözcüğün cümlede ne iş yaptığına dair fikri yoktur. Büyük harf önemliyse bu ikinci bir kuraldır.

İtalik aralığın kenarını aşan bir eşleşme

Girdi

1
00:00:01,000 --> 00:00:04,000
<i>Hello there</i>, welcome aboard

Çıktı

1
00:00:01,000 --> 00:00:04,000
Hello there. Welcome aboard

Eşleşme italiklerin içinde başlıyor ve dışında bitiyor, bu yüzden işaretlemenin kapsadığı şeyin yarısı gitmiş ve onun için doğru bir yer kalmamış. Yanlış harflerin etrafında bırakılmak yerine düşürülüyor ve sayılıyor.

Sık sorulan sorular

Altyazıda düzenli ifadeyle değiştirmede desenin eşleştirdiği şeyin bir parçasını nasıl korurum?

O parçayı desende parantez içine alın ve yerine koymada $1 olarak anın; ikinci grup için $2 vb. \s+([.,!?]) deseni ve $1 yerine koyması boşluğu siler, noktalamayı korur; sabit bir dizenin yapamadığı iş tam olarak budur. $& eşleşmenin tamamını, $$ ise metinde gerçekten istediğiniz bir dolar işaretini temsil eder.

Altyazıdaki düzenli ifade hangi bayraklarla çalışıyor?

g ve u varsayılan olarak açıktır. g ilk eşleşmede durmak yerine her eşleşmeyi bulur; u desenin metni karakter karakter okumasını sağlar ve \p{L}, \p{N} ve benzerlerinin söyledikleri anlama gelmesinin nedeni odur. Büyük küçük harf duyarsız eşleşme için i, çapaların satır başına çalışması için m, noktanın satır sonunu eşleştirmesi için s ekleyin. Kutuyu temizlemek hiç bayrak olmadan çalıştırır. Başka herhangi bir harf — x, y, d — yok sayılmak yerine çalıştırmayı reddeder.

Altyazıda düzenli ifadeyle değiştir ile bul ve değiştir sayfası aynı şey mi?

Hayır ve fark kutuda ne yazdığınızdadır. Öteki sayfa karakterleri yazıldığı gibi eşleştirir, bu yüzden ters gidebilecek tek şey hiçbir şey bulamamaktır. Bu sayfa bir program çalıştırır; o program tek geçişte binlerce yeri eşleştirip hepsini yeniden yazabilir. Bu yüzden desen burada boş başlar, bilinmeyen bayraklar reddedilir ve iki sayfa ayrıdır: birinde gerçekleşmeyen bir yeniden yazma bir yazım hatasıdır, ötekinde sessizce başka bir anlama gelen bir desen olabilir.

Düzenli ifadeyle değiştirmede iki eşleşme üst üste bindiğinde ne olur?

En soldaki kazanır ve tarama ondan sonra devam eder; her düzenli ifade motorunun yaptığı budur. Bu yüzden aaaa metnine karşı aa deseni üç değil iki eşleşme bulur ve değiştirdikten sonra metin bb olur. Üç bekliyorsanız desen motorun yapamayacağı bir şeyi anlatıyordur ve bunu dosya geri gelmeden önce bilmek daha iyidir.

Yavaş bir düzenli ifadeye karşı sayfa beni korur mu?

Bir aileyi daha hiçbir şey çalışmadan reddeder: sınırsız yinelenen bir gruba uygulanan yineleme, (a+)+ veya (\d+)+ gibi. Tarayıcı sekmesini kilitleyen desenler bunlardır ve otuz karakterlik girdi yeter. Üç biçim yakalanmaz ve elle kaçınılmaya değer: yinelenen bir grup içinde üst üste binen iki alternatif, (a|a)+ gibi; yan yana üst üste binen birkaç yineleme, a*a*a*b gibi; ve (a{100}){100} gibi aşırı büyük sayımlar. Saate karşı hiçbir kontrol yapılmaz, çünkü bir süre sınırı aynı dosyanın hızlı makinede ve yavaş makinede farklı çıkmasına yol açardı.

Düzenli ifadeyle metin yeniden yazılırken italik ve diğer biçimlendirmeye ne olur?

Düzenlemenin dışındaki bir etiket metinle birlikte kayar, düzenlemeyi içeren etiket eşleşmek için uzar veya kısalır. Bir eşleşme bir etiketin kenarını aşarsa işaretleme için doğru bir yer kalmaz, bu yüzden düşürülür ve kayıp raporu kaç tanesinin düşürüldüğünü söyler. Bir eşleşme karaokeye dokunduğunda karaoke zamanlaması düşer, çünkü hece başına bölünme sözcüklerle artık hizalanmaz.

Düzenli ifadeyle değiştirmeyi her altyazı biçiminde kullanabilir miyim?

Evet. Desen her repliğin metnine uygulanır ve on iki biçimin hepsi o metni okur, bu yüzden bir SRT, bir WebVTT dosyası, stilleriyle bir ASS dosyası, bir LRC şarkı sözü sayfası ve düz bir transkript aynı şekilde çalışır. Her dosya geldiği biçimde geri yazılır ve bir MicroDVD dosyasının kare numaraları paneldeki kare hızını kullanır.

İlgili araçlar