Aller au contenu principal
SubtitleMatrix

Remplacer par expression régulière

Texte et styleRemplacer par expression régulière
Ou collez le texte d'un sous-titre

Options

Une expression régulière, comparée au texte de chaque bloc. Chaque correspondance est remplacée. Les deux pages de cette section partagent le cadre : l'une l'ouvre vide pour un motif que vous avez déjà, l'autre le pré-remplit avec un motif modifiable dans les deux sens.

Ce que devient chaque correspondance. Laissez vide pour supprimer chaque correspondance. Contrairement à la page de recherche-remplacement littérale, le signe dollar est ici spécial : $1 désigne le premier groupe entre parenthèses de la correspondance, $& toute la correspondance et $$ un dollar littéral.

Les lettres avec lesquelles le motif est compilé. g et u sont actifs par défaut : u fait lire le texte caractère par caractère plutôt qu'unité de code par unité de code, ce qui donne leur sens à \p{L} et compagnie. Ajoutez i pour ignorer la casse, m pour les ancres de ligne, s pour qu'un point corresponde à un saut de ligne. Videz le cadre pour compiler sans aucune option. Toute autre lettre est refusée plutôt qu'ignorée, car un motif exécuté avec des options non demandées est un motif qui veut dire autre chose en silence.

La fréquence d'images dans laquelle les temps sont comptés. Sur les pages de format, c'est ce dont MicroDVD a besoin, car il stocke les temps sous forme de numéros d'image. Sur les pages de fréquence d'images, c'est la cadence à laquelle le fichier a été minuté — la version pour laquelle les sous-titres ont été faits — et le second cadre de la page prend la cadence de la vidéo avec laquelle vous allez les utiliser. 23,976, 24, 25, 29,97, 30, 50, 59,94 et 60 sont les valeurs courantes. Se tromper décale toute la chronologie et, sur les pages de fréquence d'images, ce décalage est un rapport, pas un montant fixe.

Renseignez Motif pour lancer.

Cette page réécrit le texte des blocs avec un motif que vous écrivez. Un motif n’est pas une chaîne fixe : « \d+ » signifie toute suite de chiffres, « (chat|chien) » l’un ou l’autre mot, et un point représente n’importe quel caractère. Chaque correspondance, dans chaque bloc, est remplacée en un seul passage, et la page indique combien d’endroits ont changé. Seul le texte bouge : chaque heure de début et de fin traverse la page exactement telle quelle.

La case de remplacement n’est pas une chaîne fixe non plus. Un signe dollar y est spécial : « $1 » représente ce qu’a capturé le premier groupe entre parenthèses, « $& » toute la correspondance, et « $$ » un dollar littéral. C’est ce qui permet à une règle de nettoyer des milliers de lignes différentes — supprimer l’espace parasite avant un point tout en gardant la ponctuation, parce que c’est elle que le groupe a capturée.

Les motifs tournent avec g et u activés. g signifie trouver toutes les correspondances et non seulement la première ; u fait lire le texte caractère par caractère plutôt qu’unité de code par unité de code, ce qui donne son sens à « \p{L} » pour une lettre. Ajoutez i pour ignorer la casse, m pour que les ancres agissent ligne par ligne, s pour qu’un point corresponde à un retour à la ligne. Videz la case des drapeaux pour ne rien activer. Toute autre lettre fait refuser le passage plutôt que d’être ignorée, car un motif exécuté sous des drapeaux que vous n’avez pas demandés signifie autre chose en silence.

La mise en forme en ligne est emportée quand elle a une place honnête, et retirée avec un compte dans le rapport de pertes quand une correspondance traverse son bord. Rien n’est envoyé, chaque fichier est réécrit dans son format, et une saison entière peut passer dans la file.

Exemples

Garder la ponctuation grâce à un groupe de capture

Entrée

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

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

Sortie

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

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

Le motif est une suite d’espaces suivie de l’un des signes . , ! ? — et les parenthèses font de cette ponctuation le premier groupe, que « $1 » réinsère. Trois correspondances, trois changements. Une recherche littérale ne peut pas exprimer cela : elle ne sait transformer qu’une chaîne fixe en une autre chaîne fixe.

Un seul motif, les deux orthographes

Entrée

The Colour of the sky.
colourless and calm.

Sortie

The color of the sky.
colorless and calm.

Avec i dans la case des drapeaux, « colour » attrape aussi l’orthographe capitalisée. Notez ce que le drapeau ne fait pas : la capitale du début de ligne disparaît, car un motif ne sait pas ce qu’un mot fait dans une phrase. Si la capitale compte, c’est une seconde règle.

Une correspondance qui traverse le bord d’une plage italique

Entrée

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

Sortie

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

La correspondance commence dans l’italique et finit dehors, donc la moitié de ce que le balisage couvrait a disparu et il ne reste aucune place correcte pour lui. Il est retiré et compté plutôt que laissé autour des mauvaises lettres.

Questions fréquentes

Comment conserver une partie de ce que le motif a trouvé ?

Mettez cette partie entre parenthèses dans le motif et désignez-la par « $1 » dans le remplacement, « $2 » pour le second groupe, et ainsi de suite. Le motif « \s+([.,!?]) » avec le remplacement « $1 » supprime l’espace et garde la ponctuation. « $& » représente toute la correspondance et « $$ » un dollar que vous voulez réellement dans le texte.

Avec quels drapeaux le motif tourne-t-il ?

g et u sont actifs par défaut. g trouve toutes les correspondances au lieu de s’arrêter à la première, et u fait lire le texte caractère par caractère, ce qui donne leur sens à « \p{L} », « \p{N} » et compagnie. Ajoutez i pour ignorer la casse, m pour des ancres par ligne, s pour qu’un point attrape un retour à la ligne. Une case vide signifie aucun drapeau ; toute autre lettre refuse le passage.

Est-ce la même chose que la page de recherche-remplacement ?

Non, et la différence est ce que vous tapez dans la case. L’autre page cherche les caractères exactement comme écrits, donc le seul risque est de ne rien trouver. Cette page exécute un programme, qui peut toucher des milliers d’endroits en un passage. C’est pourquoi le motif part vide ici, pourquoi les drapeaux inconnus sont refusés, et pourquoi les deux pages sont séparées.

Que se passe-t-il quand deux correspondances se chevauchent ?

La plus à gauche gagne et l’analyse reprend après elle, comme dans tout moteur d’expressions régulières. « aa » appliqué à « aaaa » trouve donc deux correspondances et non trois, et le texte devient « bb ». Si vous en attendiez trois, le motif décrit une chose que le moteur ne fait pas, et mieux vaut le savoir avant que le fichier revienne.

La page me protège-t-elle d’un motif lent ?

Elle refuse une famille avant toute exécution : une répétition appliquée à un groupe qui se répète déjà sans borne, comme « (a+)+ » ou « (\d+)+ ». Ce sont les motifs qui bloquent un onglet, et trente caractères suffisent. Trois formes ne sont pas détectées et sont à éviter à la main : deux alternatives qui se recouvrent dans un groupe répété, plusieurs répétitions qui se chevauchent côte à côte, et des compteurs énormes.

Qu’arrive-t-il aux accents et aux ligatures françaises ?

Ils ne sont pas normalisés : « é » et « e » restent deux caractères différents, et « œ » n’est pas transformé en « oe ». Un motif écrit avec « é » ne trouvera pas « e », et inversement. Avec le drapeau u, les classes comme « \p{L} » couvrent les lettres accentuées et les ligatures, ce qui est la bonne façon de viser un mot sans dépendre de son orthographe exacte.

Outils associés