ForHosting KIT · Outils pour développeurs

Échappement métacaractères regex

Collez file.txt (v1.0+) et obtenez file\.txt \(v1\.0\+\) : chaque point, parenthèse, signe plus et autre opérateur reçoit une barre oblique inverse, et le motif correspond à votre texte caractère par caractère. L'option inverse retrouve le texte. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
file.txt (v1.0+)
Mode de calcul
Escape
Vous obtenez
Résultat
file\.txt \(v1\.0\+\)
Longueur
21
Longueur de l'entrée
16
Nombre échappé
5

Les expressions régulières traitent points, étoiles, crochets et parenthèses comme des opérateurs plutôt que comme des caractères ordinaires. Si vous collez un nom tel que report.v2.pdf dans un motif sans échappement, les points signifient soudain « n’importe quel caractère » et la correspondance s’élargit en silence au-delà du nom voulu. Codes produit, parties locales d’e-mail, globs shell collés dans des champs de recherche et filtres saisis par l’utilisateur présentent le même risque. Cette capacité parcourt chaque caractère, préfixe chaque métacaractère au style JavaScript et PCRE d’une barre oblique inverse, et renvoie un fragment que vous pouvez insérer dans un motif plus large en sachant qu’il correspondra caractère par caractère à la chaîne d’origine. Le chemin inverse déséchappe un motif littéral pur pour retrouver le texte brut derrière des séquences comme \. et \(.

Quels caractères doivent être échappés et pourquoi

Un moteur d’expression régulière lit certains symboles comme de la syntaxe plutôt que comme des données. L’ensemble classique à échapper pour une correspondance littérale dans les constructeurs RegExp JavaScript et les moteurs de style PCRE comprend le point, l’étoile, le plus, le point d’interrogation, l’accent circonflexe, le dollar, les accolades, les parenthèses, la barre verticale, les crochets et la barre oblique inverse elle-même.

Sans barre initiale, un point correspond à n’importe quel caractère, une étoile répète l’atome précédent, des parenthèses ouvrent un groupe de capture, et un circonflexe ou un dollar ancre la correspondance. Lorsque vous souhaitez seulement que le SKU produit, le chemin de fichier ou le message d’erreur de l’utilisateur apparaissent exactement tels qu’ils ont été saisis, chacun de ces symboles doit redevenir une donnée. Cette capacité préfixe chacun d’une seule barre sur le chemin d’échappement : file.txt devient file\.txt, et une étiquette de version telle que (v1.0+) devient \(v1\.0\+\).

Lettres, chiffres, espaces et la plupart de la ponctuation hors de cet ensemble passent inchangés.

Où l’échappement littéral de regex apparaît dans le travail réel

Les interfaces de recherche et de filtre enveloppent souvent la saisie utilisateur dans un motif dynamique pour surligner des correspondances partielles dans un tableau ; échapper d’abord évite qu’une seule parenthèse ne lève une erreur de syntaxe ou n’ouvre un groupe non voulu. Les outils de triage de journaux transforment une ligne d’erreur copiée en motif de recherche qui ne doit pas traiter les points des noms d’hôte ou des numéros de version comme des jokers.

Les relecteurs de sécurité convertissent une chaîne suspecte en fragment littéral avant de l’intégrer dans une expression de liste d’autorisation afin que les métacaractères n’élargissent pas la correspondance. Les pipelines de localisation et de contenu stockent parfois des fragments déjà échappés ; le déséchappement récupère le jeton lisible pour l’affichage sans réintroduire de syntaxe active. Les cours de programmation utilisent un échappeur en direct pour montrer pourquoi « n’importe quel caractère » et « le caractère point » ne sont pas la même idée dans une leçon de regex.

Si vous devez exécuter des correspondances et remplacements, expliquer un motif en prose, générer un motif à partir d’une description ou encoder un URL en pourcentage, ce sont des intentions de recherche et des pages distinctes — celle-ci ne couvre que l’échappement et le déséchappement littéraux des métacaractères.

Filtres utilisateur sûrs dans les recherches

Échappez ce que l’utilisateur saisit avant de l’envelopper dans un regex dynamique afin que points et parenthèses ne deviennent jamais opérateurs ni erreurs de syntaxe.

Quels métacaractères cet outil échappe-t-il ?

L’ensemble littéral au style JavaScript / PCRE : . * + ? ^ $ { } ( ) | [ ] et la barre oblique inverse. Chacun est préfixé de \ pour que le fragment corresponde exactement aux caractères d’origine.

Que se passe-t-il en cas d’entrée incorrecte ?

Text manquant, mode inconnu, chaînes trop longues, barre finale, échappements non méta comme \d et métacaractères nus sur le chemin unescape sont rejetés. Les échecs de validation ne sont pas facturés.

Cela exécute-t-il ou teste-t-il une expression régulière ?

Non. Il n’échappe et ne déséchappe que pour une correspondance littérale. Utilisez un testeur de regex dédié si vous avez besoin de match, replace ou de capture de groupes.

Quel est le coût ?

L’outil navigateur est gratuit et s’exécute en local.

Peut-on retrouver le texte d'origine à partir d'un motif échappé ?

Oui, avec l'option inverse, à condition que le motif soit littéral : chaque barre oblique inverse doit précéder un métacaractère ou une autre barre. Des séquences comme \d ou \n, ou une barre isolée à la fin, sont refusées au lieu d'être devinées.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/regex-escape

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/regex-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"file.txt (v1.0)"}'
{
  "text": "file.txt (v1.0)"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.regex_escape",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L’outil gratuit du navigateur et l’API payante partagent un noyau déterministe au prix publié de $0.002 par élément réussi.

Ce que vous envoyez et ce que vous recevez

Envoyez un champ chaîne obligatoire nommé text et un champ optionnel mode égal à escape ou unescape. Lorsque mode est omis, escape est la valeur par défaut et une seule charge utile reste utile. Escape parcourt l’entrée, compte combien de métacaractères ont été préfixés et renvoie result comme fragment de motif sûr principal. Un text manquant, des valeurs de mode non prises en charge et des chaînes plus longues que le maximum documenté échouent aussi sans consommer le solde prépayé. Des alias tels que encode et decode sont acceptés pour les équipes déjà branchées sur d’autres outils d’encodage du catalogue. Unescape n’inverse que des motifs littéraux purs : une barre doit être suivie d’un métacaractère ou d’une autre barre ; une barre finale seule, un échappement tel que \d ou \n hors de l’ensemble littéral, ou un métacaractère nu jamais échappé échouent avec invalid_input et un message en anglais indiquant l’index. Les réponses de succès reprennent mode et le text d’origine, incluent length et input_length, signalent escaped_count, listent par ordre les métacaractères uniques touchés et joignent une courte étiquette du jeu de règles JavaScript et PCRE. Le tarif des appels API réussis est la base publiée de $0.002 par élément.

Où l’échappement littéral de regex apparaît dans le travail réel

Comme cette capacité est un moteur parse pur, le prix API reste à la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas le solde.

Motifs golden stables en CI

Convertissez noms de fichiers et chaînes d’erreur en fragments sûrs pour littéraux que les tests peuvent intégrer sans maintenir des barres à la main.

Retrouver le texte brut depuis des fixtures

Déséchappez un motif littéral pur stocké dans un fichier de configuration pour afficher le code produit ou le chemin d’origine dans les outils d’administration.

Peut-on convertir dans les deux sens ?

Oui. mode=escape (par défaut ; accepte aussi encode) transforme le texte brut en motif sûr pour littéraux ; mode=unescape (accepte aussi decode) inverse un motif littéral pur en texte brut.

Consulter la documentation complète du KIT →