Articles of regex

Remplacez plusieurs sous-chaînes à la fois

Supposons que j’ai un fichier contenant du texte. Il contient des sous-chaînes telles que “substr1”, “substr2”, “substr3”, etc. Je dois remplacer toutes ces sous-chaînes par un autre texte, comme “repl1”, “repl2”, “repl3”. En Python, je créerais un dictionnaire comme celui-ci: { “substr1”: “repl1”, “substr2”: “repl2”, “substr3”: “repl3” } et créez le motif joignant les touches […]

Fractionner une structure JSON simple à l’aide d’une expression régulière

Je n’ai jamais utilisé de regex auparavant et je cherche à scinder un fichier contenant un ou plusieurs objects JSON. Les objects JSON ne sont pas séparés par une virgule. J’ai donc besoin de les séparer entre “} {” et de garder les deux accolades. Voici à quoi ressemble la chaîne: {id:”123″,name:”myName”}{id:”456″,name:”anotherName”} Je voudrais un […]

Comment utiliser Java Regex pour rechercher toutes les séquences de caractères récurrents dans une chaîne?

Analyser une chaîne aléatoire à la recherche de séquences répétitives en utilisant Java et Regex. Considérez les chaînes: aaabbaaacccbb J’aimerais trouver une expression régulière qui trouvera toutes les correspondances dans la chaîne ci-dessus: aaabbaaacccbb ^^^ ^^^ aaabbaaacccbb ^^ ^^ Quelle est l’expression regex qui vérifiera une chaîne pour toute séquence de caractères répétitive et renverra […]

Scanner de Java vs Ssortingng.split () vs SsortingngTokenizer; lequel devrais-je utiliser?

J’utilise actuellement split() pour parcourir un fichier où chaque ligne a un nombre de chaînes délimité par un ‘~’ . J’ai lu quelque part que Scanner pourrait faire un meilleur travail avec un long fichier, en termes de performances, alors j’ai pensé à le vérifier. Ma question est la suivante: devrais-je créer deux instances de […]

Quelle est la catégorie Unicode {L}?

Je suis tombé sur des expressions régulières contenant [^\\p{L}] . Je comprends que cela utilise une sorte de catégorie Unicode, mais lorsque j’ai vérifié la documentation , j’ai trouvé uniquement les catégories “L” suivantes: Lu Uppercase letter UPPERCASE_LETTER Ll Lowercase letter LOWERCASE_LETTER Lt Titlecase letter TITLECASE_LETTER Lm Modifier letter MODIFIER_LETTER Lo Other letter OTHER_LETTER Qu’est-ce […]

Regex vérifiant la répétition

J’essaie de vérifier une ligne de texte en utilisant regex. 1,3,4,5,8,10,12,14,19,14 Ici, les nombres sont délimités par ‘,’ et doivent être non négatives et inférieurs ou égaux à 20. De plus, aucun nombre ne doit être répété. Voici mon modèle. ^(?:(?:0[1-9]|[1-9]|1[0-9]|20),)*(?:0[1-9]|[1-9]|1[0-9]|20)$ Mais il ne peut pas vérifier la répétition. Comment puis-je le vérifier?

Remplacer une chaîne par l’expression régulière «. *» Renvoie le remplacement deux fois

Étant donné ce code: Ssortingng replaced = “A”.replaceAll(“.*”, “HI”); Pourquoi la chaîne replaced contient-elle la chaîne HIHI au lieu de HI comme je l’aurais deviné? Il semble que cela ait quelque chose à voir avec le début d’une ligne puisque l’utilisation du modèle ^.* Produit HI , mais je ne comprends pas la raison.

Écrire: (\ ou / regex) correctement?

J’essaie d’écrire une regex qui correspond à \ ou / . Peu importe dans quel ordre je l’écris: [//\] ou [/\\] Cela échappe en quelque sorte à mon crochet ou à ma barre oblique. Quelle est la bonne façon de montrer ce cas particulier?

Comment faire correspondre une lettre majuscule suivie de la lettre minuscule correspondante?

J’ai une exigence qui dit qu’un nom ne doit pas commencer par 3 lettres identiques ignorant leur cas Un nom commence par une lettre majuscule suivie de lettres minuscules. Fondamentalement, je pouvais convertir le nom complet en majuscule, puis correspondre à une expression régulière comme (\p{Lu})\1{3,}.* . Mais je me demandais s’il existait une expression […]

confusion dans le comportement de la capture de groupes dans Java Regex

Dans cette réponse, j’ai recommandé d’utiliser s.replaceFirst(“\\.0*$|(\\.\\d*?)0+$”, “$1″); mais deux personnes se sont plaintes que le résultat contienne la chaîne “null”, par exemple, 23.null . Cela pourrait s’expliquer par le fait que $1 (c’est-à-dire que group(1) ) est null , ce qui pourrait être transformé via Ssortingng.valueOf en chaîne “null”. Cependant, je reçois toujours la […]