Ganti teks subtitle dengan regex
Atau tempel teks subtitle
Opsi
Sebuah ekspresi reguler, dicocokkan terhadap teks setiap cue. Setiap kecocokan diganti. Dua halaman di bagian ini berbagi kotak yang sama: satu membukanya kosong untuk pola yang sudah Anda miliki, yang lain mengisinya dengan pola yang dapat Anda sunting ke kedua arah.
Apa yang menjadi pengganti setiap kecocokan. Biarkan kosong untuk menghapus setiap kecocokan. Berbeda dengan halaman cari-dan-ganti literal, tanda dolar di sini istimewa: $1 berarti kelompok berkurung pertama dari kecocokan, $& berarti seluruh kecocokan, dan $$ berarti tanda dolar literal.
Huruf-huruf yang dipakai saat pola dikompilasi. g dan u aktif secara bawaan: u membuat pola membaca teks karakter demi karakter alih-alih unit kode demi unit kode, yang membuat \p{L} dan sejenisnya bermakna seperti yang tertulis. Tambahkan i untuk mengabaikan huruf besar-kecil, m untuk jangkar baris, s agar titik dapat mencocokkan baris baru. Kosongkan kotak untuk mengompilasi tanpa flag sama sekali. Huruf lain ditolak, bukan diabaikan, karena pola yang berjalan dengan flag yang tidak Anda minta adalah pola yang diam-diam bermakna lain.
Frame rate yang dipakai untuk menghitung waktu. Di halaman format, inilah yang dibutuhkan MicroDVD, karena format itu menyimpan waktu sebagai nomor frame. Di halaman frame rate, ini adalah laju yang dipakai saat file diberi waktu — versi tempat subtitle dibuat — dan kotak kedua di halaman tersebut menerima laju video yang akan Anda gunakan bersama subtitle ini. 23,976, 24, 25, 29,97, 30, 50, 59,94, dan 60 adalah nilai yang umum. Nilai yang salah akan menggeser seluruh timeline, dan di halaman frame rate pergeserannya berupa rasio, bukan jumlah tetap.
Isi Pola untuk menjalankan.
Halaman ini menulis ulang teks di dalam cue subtitle dengan pola yang Anda buat. Pola bukan string tetap: \d+ berarti rentetan angka apa pun, (cat|dog) berarti salah satu kata itu, dan titik mewakili karakter apa saja. Setiap kecocokan, di setiap cue, diganti dalam sekali jalan, dan halaman melaporkan berapa tempat yang berubah. Hanya teks yang bergerak — setiap waktu mulai dan selesai dibawa persis seperti sebelumnya.
Kotak pengganti juga bukan string tetap. Tanda dolar di dalamnya istimewa: $1 mewakili apa pun yang ditangkap grup berkurung pertama dari kecocokan, $& mewakili seluruh kecocokan, dan $$ untuk tanda dolar literal. Itulah yang memungkinkan satu aturan merapikan ribuan baris berbeda — menghapus spasi nyasar sebelum titik sambil mempertahankan tanda bacanya, karena tanda baca itulah yang ditangkap grup.
Pola berjalan dengan g dan u menyala. g berarti temukan setiap kecocokan alih-alih hanya yang pertama; u membuat pola membaca teks karakter demi karakter alih-alih satuan kode demi satuan kode, dan itulah yang membuat \p{L} berarti sebuah huruf. Tambahkan i untuk mengabaikan huruf besar-kecil, m agar jangkar bekerja baris demi baris, s agar titik cocok dengan pemisah baris. Kosongkan kotak flag untuk menjalankan tanpa satu pun. Huruf lain apa pun menolak seluruh proses alih-alih diabaikan, karena pola yang berjalan dengan flag yang tidak Anda minta adalah pola yang diam-diam berarti sesuatu yang lain.
Gaya sebaris ikut terbawa setiap kali ada tempat yang jujur untuknya: tag bergeser ketika suntingan terjadi di luarnya dan melar ketika suntingan terjadi di dalamnya. Ketika kecocokan melewati tepi tag, markupnya dibuang dan dihitung di laporan kehilangan, karena alternatifnya adalah huruf miring yang membungkus kata yang salah. Waktu karaoke dibuang setiap kali kecocokan menyentuhnya, karena pembagian per suku kata tidak lagi sejajar dengan kata-katanya. Tidak ada yang diunggah, setiap file ditulis kembali dalam formatnya sendiri, dan satu musim penuh dapat melewati antrean sekaligus.
Contoh
Mempertahankan tanda baca dengan grup tangkapan
Masukan
1
00:00:01,000 --> 00:00:02,000
We stopped , and waited .
2
00:00:03,000 --> 00:00:04,000
Right !
Keluaran
1
00:00:01,000 --> 00:00:02,000
We stopped, and waited.
2
00:00:03,000 --> 00:00:04,000
Right!
Polanya adalah rentetan spasi diikuti salah satu dari . , ! ? — dan kurung membuat tanda baca itu menjadi grup pertama, sehingga $1 mengembalikannya. Tiga kecocokan, tiga perubahan. Pencarian literal sama sekali tidak dapat menyatakan ini: ia hanya dapat mengubah satu string tetap menjadi string tetap lain.
Satu pola, kedua ejaan
Masukan
The Colour of the sky.
colourless and calm.
Keluaran
The color of the sky.
colorless and calm.
Dengan i di kotak flag, colour juga menangkap ejaan berhuruf kapital. Perhatikan apa yang tidak dilakukan flag itu: huruf kapital di awal baris hilang, karena pola tidak punya gagasan tentang apa peran sebuah kata dalam kalimat. Bila kapital itu penting, itu aturan kedua.
Kecocokan yang melewati tepi rentang miring
Masukan
1
00:00:01,000 --> 00:00:04,000
<i>Hello there</i>, welcome aboard
Keluaran
1
00:00:01,000 --> 00:00:04,000
Hello there. Welcome aboard
Kecocokan mulai di dalam huruf miring dan berakhir di luarnya, sehingga separuh yang dicakup markup hilang dan tidak ada tempat yang benar lagi untuknya. Markup dibuang dan dihitung alih-alih dibiarkan membungkus huruf yang salah.
Pertanyaan yang sering diajukan
Bagaimana cara mempertahankan sebagian dari apa yang dicocokkan pola?
Letakkan kurung di sekitar bagian itu dalam pola dan rujuk sebagai $1 di pengganti — $2 untuk grup kedua, dan seterusnya. Pola \s+([.,!?]) dengan pengganti $1 menghapus spasi dan mempertahankan tanda baca, dan itulah pekerjaan yang tidak dapat dilakukan string tetap. $& mewakili seluruh kecocokan, sedangkan $$ untuk tanda dolar yang memang Anda inginkan di teks.
Flag apa yang dipakai pola secara default?
g dan u menyala secara default. g menemukan setiap kecocokan alih-alih berhenti di yang pertama, dan u membuat pola membaca teks karakter demi karakter, yang membuat \p{L}, \p{N}, dan sejenisnya berarti seperti yang tertulis. Tambahkan i untuk pencocokan tanpa peduli huruf besar-kecil, m agar jangkar bekerja per baris, s agar titik cocok dengan pemisah baris. Mengosongkan kotak menjalankan tanpa flag sama sekali. Huruf lain — x, y, d — menolak proses alih-alih diabaikan.
Apakah halaman ini sama dengan halaman cari dan ganti?
Tidak, dan bedanya adalah apa yang Anda ketik di kotak. Halaman itu mencocokkan karakter persis seperti tertulis, sehingga satu-satunya yang bisa salah adalah tidak menemukan apa pun. Halaman ini menjalankan program, yang dapat mencocokkan ribuan tempat dalam sekali jalan dan menulis ulang semuanya. Itulah sebabnya pola dimulai kosong di sini, flag tak dikenal ditolak, dan kedua halaman dipisah: di satu halaman penulisan ulang yang tidak terjadi adalah salah ketik, di halaman lain bisa jadi pola yang diam-diam berarti sesuatu yang lain.
Apa yang terjadi ketika dua kecocokan bertumpang tindih?
Yang paling kiri menang dan pemindaian berlanjut sesudahnya, seperti yang dilakukan setiap mesin ekspresi reguler. Jadi aa terhadap aaaa menemukan dua kecocokan, bukan tiga, dan setelah diganti teksnya menjadi bb. Bila Anda mengharapkan tiga, pola itu menjelaskan sesuatu yang tidak dapat dilakukan mesin, dan lebih baik mengetahuinya sebelum file kembali.
Apakah halaman melindungi saya dari pola yang lambat?
Halaman menolak satu keluarga pola sebelum apa pun berjalan: pengulangan yang diterapkan pada grup yang sudah berulang tanpa batas, seperti (a+)+ atau (\d+)+. Itulah pola yang mengunci tab peramban, dan tiga puluh karakter masukan sudah cukup. Tiga bentuk tidak tertangkap dan sebaiknya dihindari sendiri — dua alternatif yang bertumpang tindih di dalam grup berulang seperti (a|a)+; beberapa pengulangan bertumpang tindih berdampingan seperti a*a*a*b; dan jumlah sangat besar seperti (a{100}){100}. Tidak ada yang diperiksa terhadap jam, karena batas waktu akan membuat file yang sama keluar berbeda di mesin cepat dan mesin lambat.
Apa yang terjadi pada huruf miring dan gaya lain saat teks ditulis ulang?
Tag di luar suntingan bergeser bersama teks, dan tag yang memuat suntingan melar atau menyusut mengikutinya. Ketika kecocokan melewati tepi tag, tidak ada tempat yang benar lagi untuk markup, sehingga dibuang dan laporan kehilangan menyebut berapa yang dibuang. Waktu karaoke dibuang setiap kali kecocokan menyentuhnya, karena pembagian per suku kata tidak lagi sejajar dengan kata-katanya.
Bisakah saya memakai halaman ini pada format subtitle apa pun?
Bisa. Pola diterapkan pada teks setiap cue, dan kedua belas format membaca teks itu, jadi SRT, WebVTT, ASS dengan gaya, lembar lirik LRC, atau transkrip teks biasa semuanya bekerja dengan cara yang sama. Setiap file ditulis kembali dalam format asalnya, dan nomor frame file MicroDVD memakai frame rate di panel.