Regex pour extraire les chaînes dans Excel (une ou toutes les correspondances)
Dans ce tutoriel, vous apprendrez à utiliser des expressions régulières dans Excel pour trouver et extraire des sous-chaînes correspondant à un modèle donné.
Microsoft Excel fournit un certain nombre de fonctions pour extraire du texte des cellules. Ces fonctions peuvent faire face à la plupart des défis d'extraction de cordes dans vos feuilles de travail. La plupart, mais pas tous. Lorsque les fonctions de texte trébuchent, les expressions régulières viennent secourir. Attendez… Excel n'a pas de fonctions regex! Certes, pas de fonctions intégrées. Mais rien ne vous empêcherait d'utiliser vos propres :)
Excel VBA Regex Fonction pour extraire les chaînes
Pour ajouter une fonction d'extraction regex personnalisée à votre Excel, collez le code suivant dans l'éditeur VBA. Afin d'activer les expressions régulières dans VBA, nous utilisons l'objet Microsoft Regexp intégré. Le code est écrit par notre spécialiste Excel Alex Frolov.
Si vous avez peu d'expérience avec VBA, un guide d'utilisation étape par étape peut s'avérer utile: comment insérer le code VBA dans Excel.
Note. Pour que la fonction fonctionne, assurez-vous d'enregistrer votre fichier en tant que classeur macro-compatible (.xlsm).
Syntaxe regexpextract
La fonction regexpextract recherche une chaîne d'entrée pour les valeurs qui correspondent à une expression régulière et extrait l'une ou toutes les correspondances.
La fonction a la syntaxe suivante:
Regexpextract (texte, modèle, [instance_num], [match_case])Où:
- Texte (requis) - La chaîne de texte pour rechercher.
- Modèle (requis) - l'expression régulière à correspondre. Lorsqu'il est fourni directement dans une formule, le motif doit être enfermé à deux guillemets.
- Instance_num (facultatif) - un numéro de série qui indique quelle instance extraire. En cas d'omission, renvoie toutes les correspondances trouvées (par défaut).
- Match_case (facultatif) - Définit de faire correspondre ou d'ignorer le cas de texte. Si elle est vraie ou omise (par défaut), la correspondance sensible à la casse est effectuée; Si faux - insensible à la cas.
La fonction fonctionne dans toutes les versions d'Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 et Excel 2010.
4 choses que vous devriez savoir sur RegexPextract
Pour utiliser efficacement la fonction dans votre Excel, il y a quelques choses importantes à noter:
- Par défaut, la fonction renvoie toutes les correspondances trouvées dans les cellules voisines comme indiqué dans cet exemple. Pour obtenir un événement spécifique, fournissez un numéro correspondant à l'argument instance_num .
- Par défaut, la fonction est sensible à la casse . Pour l'appariement insensible au cas, définissez l'argument Match_Case sur false. En raison des limitations VBA, la construction insensible à la cas (? I) ne fonctionnera pas.
- Si un modèle valide n'est pas trouvé , la fonction ne renvoie rien (chaîne vide).
- Si le motif n'est pas valide , un #Value! une erreur se produit.
Avant de commencer à utiliser cette fonction personnalisée dans vos feuilles de calcul, vous devez comprendre de quoi il est capable, non? Les exemples ci-dessous couvrent quelques cas d'utilisation courants et expliquent pourquoi le comportement peut différer dans le tableau dynamique Excel (Microsoft 365 et Excel 2021) et Excel traditionnel (versions plus anciennes).
Note. Les exemples regex sont écrits pour les ensembles de données simples de fées. Nous ne pouvons garantir qu'ils travailleront parfaitement dans vos véritables feuilles de travail. Ceux qui ont de l'expérience avec Regex conviendraient que la rédaction d'expressions régulières est une voie sans fin vers la perfection - presque toujours, il existe un moyen de le rendre plus élégant ou capable de gérer une gamme plus large de données d'entrée.
Regex pour extraire le numéro de la chaîne
Suivant la maxime de base de l'enseignement "de simple à complexe", nous commencerons par un cas très simple: extraire le numéro de la chaîne.
La première chose pour vous de décider est le numéro à récupérer: d'abord, dernier, un occurrence spécifique ou tous les nombres.
Extraire le premier numéro
C'est aussi simple que Regex peut l'obtenir. Étant donné que \ d signifie n'importe quel chiffre de 0 à 9 et signifie une ou plusieurs fois, notre expression régulière prend cette forme:
Modèle : \ D
Définissez instance_num sur 1 et vous obtiendrez le résultat souhaité:
=RegExpExtract(A5, "\d ", 1)
Où A5 est la chaîne d'origine.
Pour plus de commodité, vous pouvez saisir le modèle dans une cellule prédéfinie ($ a 2 $) et verrouiller son adresse avec le signe $:
=RegExpExtract(A5, $A$2, 1)
Obtenez le dernier numéro
Pour extraire le dernier numéro d'une chaîne, voici le modèle à utiliser:
Modèle : (\ d) (?!. * \ D)
Traduit dans un langage humain, il dit: Trouvez un nombre qui n'est pas suivi (nulle part, pas seulement immédiatement) par un autre numéro. Pour exprimer cela, nous utilisons un lookahead négatif (?!. * \ D), ce qui signifie que à droite du motif, il ne devrait y avoir aucun autre chiffre (\ d) quel que soit le nombre d'autres caractères avant.
=RegExpExtract(A5, "(\d )(?!.*\d)")
Conseils:
- Pour obtenir une occurrence spécifique , utilisez \ D pour le modèle et un numéro de série approprié par exemple_num .
- La formule pour extraire tous les nombres est discutée dans l'exemple suivant.
Regex pour extraire tous les matchs
En poussant un peu plus loin notre exemple, supposons que vous souhaitiez obtenir tous les chiffres d'une chaîne, pas seulement un.
Comme vous vous en souvenez peut-être, le nombre de correspondances extraites est contrôlée par l'argument Instance INSTERNES_NUM FACTIONNEL. La valeur par défaut est toutes les correspondances, vous omettez donc simplement ce paramètre:
=RegExpExtract(A2, "\d ")
La formule fonctionne à merveille pour une seule cellule, mais le comportement diffère dans un réseau dynamique Excel et des versions non dynamiques.
Excel 365 et Excel 2021
En raison de la prise en charge des tableaux dynamiques, une formule régulière se déverse automatiquement dans autant de cellules que nécessaire pour afficher tous les résultats calculés. En termes d'Excel, c'est ce qu'on appelle une gamme renversée:
Excel 2019 et inférieur
Dans Excel pré-dynamique, la formule ci-dessus ne retournerait qu'un seul match. Pour obtenir plusieurs matchs, vous devez en faire une formule de tableau. Pour cela, sélectionnez une gamme de cellules, tapez la formule et appuyez sur Ctrl Shift Entrez pour le terminer.
Un inconvénient de cette approche est un tas d'erreurs # n / a apparaissant dans des "cellules supplémentaires". Malheureusement, rien ne peut être fait à ce sujet (ni Iferror ni IFNA ne peuvent le réparer, hélas).
Extraire toutes les correspondances dans une seule cellule
Lors du traitement d'une colonne de données, l'approche ci-dessus ne fonctionnera évidemment pas. Dans ce cas, une solution idéale serait de renvoyer toutes les correspondances dans une seule cellule. Pour le faire, servez les résultats de Regexpextract à la fonction TextJoin et séparez-les avec tout délimiteur que vous aimez, dites une virgule et un espace:
=TEXTJOIN(", ", TRUE, RegExpExtract(A5, "\d "))
Note. Étant donné que la fonction TextJoin n'est disponible que dans Excel pour Microsoft 365, Excel 2021 et Excel 2019, la formule ne fonctionnera pas dans les versions plus anciennes.
Regex pour extraire le texte de la chaîne
Extraire du texte d'une chaîne alphanumérique est une tâche assez difficile dans Excel. Avec Regex, cela devient aussi facile que la tarte. Utilisez simplement une classe niée pour correspondre à tout ce qui n'est pas un chiffre.
Modèle : [^ \ d]
Pour obtenir des sous-chaînes dans des cellules individuelles (gamme de déversements), la formule est:
=RegExpExtract(A5, "[^\d] ")
Pour produire toutes les correspondances en une seule cellule, nidine la fonction regexpextract dans textjoin comme ceci:
=TEXTJOIN("", TRUE, RegExpExtract(A5, "[^\d] "))
Regex pour extraire l'adresse e-mail de la chaîne
Pour retirer une adresse e-mail à partir d'une chaîne contenant de nombreuses informations différentes, écrivez une expression régulière qui reproduit la structure de l'adresse e-mail.
Modèle : [\ w \. \ -] @ [a-za-z0-9 \. \ -] \. [A-za-z] {2,24}
Coupe ce regex, voici ce que nous obtenons:
- [\ w \. \ -] est un nom d'utilisateur qui peut inclure 1 ou plusieurs caractères alphanumériques, soulignements, points et traits de traits.
- @ symbole
- [A-za-z0-9 \. \ -] est un nom de domaine composé de: lettres, chiffres, traits de traits en majuscules et minuscules (dans les points (en cas de sous-domaines). Les soulignements ne sont pas autorisés ici, donc 3 jeux de caractères différents (tels que AZ AZ et 0-9) sont utilisés à la place de \ w qui correspondent à n'importe quelle lettre, chiffre ou trait de soulignement.
- \. [A-za-z] {2,24} est un domaine de niveau supérieur. Se compose d'un point suivi de lettres majuscules et minuscules. La plupart des domaines de niveau supérieur mesurent 3 lettres (par exemple.
En supposant que la chaîne est en A5 et le modèle en A2, la formule pour extraire une adresse e-mail est:
=RegExpExtract(A5, $A$2)
Regex pour extraire le domaine de l'e-mail
Lorsqu'il s'agit d'extraire le domaine des e-mails, la première pensée qui me vient à l'esprit est d'utiliser un groupe de capture pour trouver du texte qui suit immédiatement le caractère @.
Modèle : @ ([a-za-z0-9 \. \ -] \. [A-za-z] {2,24})
Servez-le à notre fonction Regexp:
=RegExpExtract(A5, "@([A-Za-z0-9\.\-] \.[A-Za-z]{2,24})")
Et vous obtiendrez ce résultat:
Avec des expressions régulières classiques, tout ce qui en dehors d'un groupe de capture n'est pas inclus dans l'extraction. Personne ne sait pourquoi VBA Regex fonctionne différemment et capture également "@". Pour vous débarrasser, vous pouvez supprimer le premier caractère du résultat en le remplaçant par une chaîne vide.
=REPLACE(RegExpExtract(A5, "@([az\d][az\d\-\.]*\.[az]{2,})", 1, FALSE), 1, 1, "")
Expression régulière pour extraire les numéros de téléphone
Les numéros de téléphone peuvent être écrits de différentes manières, c'est pourquoi il est presque impossible de trouver une solution fonctionnant en toutes circonstances. Néanmoins, vous pouvez noter tous les formats utilisés dans votre ensemble de données et essayer de les faire correspondre.
Pour cet exemple, nous allons créer un regex qui extraire les numéros de téléphone dans l'un de ces formats:
(123) 345-6789 (123) 345 6789 (123) 3456789 123-345-6789 |
123.345.6789 123 345 6789 1233456789 |
Modèle : \ (? \ D {3} [- \. \)] * \ D {3} [- \. ]? \ d {4} \ b
- La première partie \ (? \ D {3} correspond à zéro ou à une parenthèse d'ouverture suivie de trois chiffres d {3}.
- Le [-\. \)] * La pièce signifie tout caractère dans des crochets apparaissant 0 ou plus de fois: trait d'union, période, espace ou parenthèses de fermeture.
- Ensuite, nous avons à nouveau trois chiffres d {3} suivis de n'importe quel trait d'union, période ou espace [- \. ]? apparaissant 0 ou 1 fois.
- Après cela, il y a un groupe de quatre chiffres \ D {4}.
- Enfin, il y a une limite de mot \ b définissant qu'un numéro de téléphone que nous recherchons ne peut pas faire partie d'un plus grand nombre.
La formule complète prend cette forme:
=RegExpExtract(A5, "\(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b")
Veuillez noter que le regex ci-dessus peut renvoyer quelques résultats faux positifs tels que 123) 456 7899 ou (123 456 7899. La version ci-dessous résout ces problèmes. Cependant, cette syntaxe ne fonctionne que dans les fonctions Regexp VBA, et non dans les expressions régulières classiques.
Pattern : (\ (\ d {3} \) | \ d {3}) [- \. ]? \ d {3} [- \. ]? \ d {4} \ b
Regex pour extraire la date de la chaîne
Une expression régulière pour extraire une date dépend du format dans lequel la date apparaît dans une chaîne. Par exemple:
Pour extraire les dates comme 1/1/21 ou 01/01/2021, le regex est: \ d {1,2} \ / \ d {1,2} \ / (\ d {4} | \ d {2})
Il recherche un groupe de 1 ou 2 chiffres d {1,2} suivi d'une barre oblique, suivi d'un autre groupe de 1 ou 2 chiffres, suivi d'une barre oblique, suivi d'un groupe de 4 ou 2 chiffres (\ d {4} | \ d {2}). Veuillez noter que nous recherchons d'abord des années à 4 chiffres, et seulement alors pendant des années à 2 chiffres. Si nous l'écrivons l'inverse, seuls les 2 premiers chiffres seront sélectionnés de toutes les années. En effet, une fois la première condition dans l'alternance ou la construction est appariée, les conditions restantes ne sont pas vérifiées.
Pour récupérer des dates comme 1-Jan-21 ou 01-Jan-2021, le modèle est: \ d {1,2} - [a-za-z] {3} - \ d {2,4}
Il recherche un groupe de 1 ou 2 chiffres, suivi d'un trait d'union, suivi d'un groupe de 3 lettres majuscules ou minuscules, suivis d'un trait d'union, suivi d'un groupe de 4 ou 2 chiffres.
Après avoir combiné les deux modèles ensemble, nous obtenons le regex suivant:
Modèle : \ b \ d {1,2} [\ / -] (\ d {1,2} | [a-za-z] {3}) [\ / -] (\ d {4} | \ d {2}) \ b
Où:
- La première partie est de 1 ou 2 chiffres: \ d {1,2}
- La deuxième partie est soit 1 ou 2 chiffres, soit 3 lettres: (\ d {1,2} | [a-za-z] {3})
- La troisième partie est un groupe de 4 ou 2 chiffres: (\ d {4} | \ d {2})
- Le délimiteur est soit une barre oblique ou un trait d'union: [\ / -]
- Une limite de mot \ b est placée des deux côtés pour indiquer clairement qu'une date est un mot distinct et ne fait pas partie d'une chaîne plus grande.
Comme vous pouvez le voir dans l'image ci-dessous, il retire avec succès les dates et laisse les sous-chaînes telles que le 22/11/333. Cependant, il renvoie toujours des résultats faux positifs. Dans notre cas, la sous-chaîne 11-ABC-2222 dans A9 correspond techniquement au format DD-mmm-yyy et est donc extraite.
Pour éliminer les faux positifs, vous pouvez remplacer la partie [a-za-z] {3} par une liste complète d'abréviations de 3 letter:
Modèle : \ b \ d {1,2} [\ / -] (\ d {1,2} | (Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | déc)) [\ / -] (\ D {4} | \ D {2}) \ B
Pour ignorer le cas de lettre, nous définissons le dernier argument de notre fonction personnalisée sur FALSE:
=RegExpExtract(A5, $A$2, 1, FALSE)
Et cette fois, nous obtenons un résultat parfait:
Regex pour extraire le temps de la chaîne
Pour obtenir du temps dans le format HH: MM ou HH: MM: SS , l'expression suivante fonctionnera un régal.
Modèle : \ b (0? [0-9] | 1 [0-2]): [0-5] \ d (: [0-5] \ d)? \ S? (Am | pm) \ b | \ b ([[0-9] | [0-1] \ D | 2 [0-3]): [0-5] \ D (: [0-5] \ D)? (?! :)
Faire tomber ce regex, vous pouvez voir 2 parties séparées par | Cela permet la logique ou. En d'autres termes, nous recherchons une sous-chaîne qui correspond à l'une des expressions ci-dessous.
Expression 1 : \ b (0? [0-9] | 1 [0-2]): [0-5] \ d (: [0-5] \ d)? \ S? (Am | pm) \ b
Récupère des temps avec AM / PM.
L'heure peut être n'importe quel nombre de 0 à 12. Pour l'obtenir, nous utilisons la ou construction ([0-9] | 1 [0-2]), où:
- [0-9] correspond à un nombre de 0 à 9
- 1 [0-2] correspond à un nombre de 10 à 12
Minute [0-5] \ D est un nombre de 00 à 59.
Deuxième (: [0-5] \ d)? est également un nombre de 00 à 59. Le? Le quantificateur signifie zéro ou une occurrence car les secondes peuvent être incluses ou non dans la valeur temporelle.
Expression 2 : \ b ([0-9] | [0-1] \ d | 2 [0-3]): [0-5] \ d (: [0-5] \ d)? (?! :)
Extrait des temps sans AM / PM.
La pièce d'heure peut être n'importe quel nombre de 0 à 32. Pour l'obtenir, une autre ou une construction ([0-9] | [0-1] \ D | 2 [0-3]) est utilisée, où:
- [0-9] correspond à un nombre de 0 à 9
- [0-1] \ d correspond à un nombre de 00 à 19
- 2 [0-3] correspond à un nombre de 20 à 23
La minute et la deuxième partie sont les mêmes que dans l'expression 1 ci-dessus.
Le lookahead négatif (?! :) est ajouté aux chaînes de saut telles que 20:30:80.
Comme PM / AM peut être en majuscules ou en minuscules, nous rendons la fonction insensible à la fonction:
=RegExpExtract(A5, $A$2, 1, FALSE)
Espérons que les exemples ci-dessus vous ont donné quelques idées sur la façon d'utiliser des expressions régulières dans vos feuilles de calcul Excel. Malheureusement, toutes les fonctionnalités des expressions régulières classiques ne sont pas prises en charge dans VBA. Si votre tâche ne peut pas être accomplie avec VBA Regexp, je vous encourage à lire la partie suivante qui traite des fonctions .NET Regex beaucoup plus puissantes.
Fonction Regex basée sur .NET personnalisée pour extraire du texte dans Excel
Contrairement aux fonctions VBA Regexp qui peuvent être écrites par n'importe quel utilisateur Excel, .NET Regex est le domaine du développeur. Le Microsoft .NET Framework prend en charge la syntaxe d'expression régulière complète compatible avec Perl 5. Cet article ne vous apprendra pas comment écrire de telles fonctions (je ne suis pas programmeur et je n'ai pas de moindre idée sur la façon de le faire :)
Quatre fonctions puissantes traitées par le moteur Regex .NET standard sont déjà écrites par nos développeurs et incluses dans Ultimate Suite. Ci-dessous, nous allons démontrer certaines utilisations pratiques de la fonction spécialement conçue pour extraire du texte dans Excel.
Conseil. Pour plus d'informations sur la syntaxe .net Regex, veuillez vous référer à .NET Langage d'expression régulière.
Comment extraire les chaînes dans Excel en utilisant des expressions régulières
En supposant que vous avez installé la dernière version d'Ultimate Suite, l'extraction de texte en utilisant des expressions régulières se résume à ces deux étapes:
- Dans l'onglet Données AbleBits , dans le groupe de texte , cliquez sur Regex Tools .
- Dans le vget des outils Regex , sélectionnez les données source, entrez votre modèle Regex et choisissez l'option d'extraction . Pour obtenir le résultat en tant que fonction personnalisée, et non comme une valeur, sélectionnez la case d' insertion en tant que formule . Une fois terminé, cliquez sur le bouton Extraire .
Les résultats apparaîtront dans une nouvelle colonne à droite de vos données d'origine:
Syntaxe AbleBitsRegexextract
Notre fonction personnalisée a la syntaxe suivante:
CapableBitsRegexExtract (référence, régulièrementOù:
- Référence (requise) - Une référence à la cellule contenant la chaîne source.
- Régulièrement_expression (requis) - Le modèle regex à correspondre.
Remarque importante! La fonction ne fonctionne que sur les machines avec Ultimate Suite pour Excel installé.
Notes d'utilisation
Pour rendre votre courbe d'apprentissage plus fluide et votre expérience plus agréable, veuillez faire attention à ces points:
- Pour créer une formule, vous pouvez utiliser nos outils Regex , ou la boîte de dialogue Insert de l'insertion d'Excel, ou saisir le nom complet de la fonction dans une cellule. Une fois la formule insérée, vous pouvez le gérer (modifier, copier ou déplacer) comme n'importe quelle formule native.
- Le modèle que vous entrez dans le vget des outils regex passe à l'argument 2 e . Il est également possible de garder une expression régulière dans une cellule séparée. Dans ce cas, utilisez simplement une référence cellulaire pour l'argument 2 e .
- La fonction extrait la première correspondance trouvée .
- Par défaut, la fonction est sensible à la casse . Pour l'appariement insensible à la caisse, utilisez le modèle (? I).
- Si une correspondance n'est pas trouvée, une erreur # N / A est renvoyée.
Regex pour extraire de la chaîne entre deux caractères
Pour obtenir du texte entre deux caractères, vous pouvez utiliser un groupe de capture ou des regards.
Disons que vous cherchez à extraire du texte entre les supports. Un groupe de capture est le moyen le plus simple.
Modèle 1 : \ [(. *?) \]
Avec un lookbehind et un lookahead positifs, le résultat sera exactement le même.
Modèle 2 : (?
Veuillez prêter attention que notre groupe de capture (. *?) Effectue une recherche paresseuse de texte entre deux supports - du premier [au premier]. Un groupe de capture sans point d'interrogation (. *) Ferait une recherche gourmand et capturerait tout du premier [au dernier].
Avec le motif en A2, la formule se déroule comme suit:
=AblebitsRegexExtract(A5, $A$2)
Comment obtenir tous les matchs
Comme déjà mentionné, la fonction AbleBitsRegexExtract ne peut extraire qu'une seule correspondance. Pour obtenir toutes les correspondances, vous pouvez utiliser la fonction VBA dont nous avons discuté plus tôt. Cependant, il y a une mise en garde - VBA Regexp ne prend pas en charge les groupes de capture, donc le modèle ci-dessus renverra également les caractères "limites", les supports dans notre cas.
=TEXTJOIN(" ", TRUE, RegExpExtract(A5, $A$2))
Pour vous débarrasser des supports, remplacez-les par des chaînes vides ("") en utilisant cette formule:
=SUBSTITUTE(SUBSTITUTE(TEXTJOIN(", ", TRUE, RegExpExtract(A5, $A$2)), "]", ""),"[","")
Pour une meilleure lisibilité, nous utilisons une virgule pour Demiter.
Regex pour extraire du texte entre deux chaînes
L'approche que nous avons travaillée pour retirer du texte entre deux caractères fonctionnera également pour extraire du texte entre deux chaînes.
Par exemple, pour tout obtenir entre "Test 1" et "Test 2", utilisez l'expression régulière suivante.
Modèle : test 1 (. *?) Test 2
La formule complète est:
=AblebitsRegexExtract(A5, "test 1(.*?)test 2")
Regex pour extraire le domaine de l'URL
Même avec des expressions régulières, l'extraction des noms de domaine des URL n'est pas une tâche triviale. L'élément clé qui fait l'astuce est les groupes non capturés. Selon votre objectif ultime, choisissez l'un des exploits ci-dessous.
Pour obtenir un nom de domaine complet, y compris les sous-domaines
Pattern : (?: Https? \: | ^ | \ S) \ / \ / (((?: [A-za-z \ d \ - \.] {2,255} \.)? [A-za-z \ d \ -] {1,63} \. [A-za-z] {2,24})
Pour obtenir un domaine de deuxième niveau sans sous-domaines
Pattern : (?: Https? \: | ^ | \ S) \ / \ / (?: [A-za-z \ d \ - \.] {2,255} \.)? ([A-za-z \ d \ -] {1,63} \. [A-za-z] {2,24})
Maintenant, voyons comment ces expressions régulières fonctionnent sur un exemple de "https://www.mobile.ablebits.com" comme exemple URL:
- (?: Https? \: | ^ | \ S) - Groupe non capturant. Il correspond mais ne capture pas une sous-chaîne qui est précédée par l'un des éléments suivants: https, http, début de la chaîne (^), un caractère d'espace blanc (\ s). Les deux derniers éléments sont inclus pour gérer les URL relatives au protocole comme "//google.com".
- \ / \ / - Deux barres obligées (chacune est précédée d'une barre arrière pour échapper à la signification particulière de la barre oblique et l'interpréter littéralement).
- (?: [A-za-z \ d \ - \.] {2 255} \.)? - groupe non capturant pour identifier les domaines de troisième niveau, quatrième, etc., le cas échéant ( mobile dans notre URL d'échantillon). Dans le premier modèle, il est placé dans un groupe de capture plus grand pour intégrer tous ces sous-domaines dans l'extraction. Un sous-domaine peut être de 2 à 255 caractères de long, d'où le quantificateur {2 255}.
- ([A-za-z \ d \ -] {1,63} \. [A-za-z] {2,24}) - Capture de groupe pour extraire le domaine de deuxième niveau ( AbleBits ) et le domaine de niveau supérieur ( com ). La longueur maximale d'un domaine de deuxième niveau est de 63 caractères. Le domaine de niveau supérieur le plus long actuellement en existence contient 24 caractères.
Selon la expression régulière entrée dans A2, la formule ci-dessous produira des résultats différents:
=AblebitsRegexExtract(A5, $A$2)
Regex pour extraire le nom de domaine complet avec tous les sous-domaines:
Regex pour extraire un domaine de deuxième niveau sans sous-domaines:
C'est comment extraire des parties du texte dans Excel en utilisant des expressions régulières. Je vous remercie d'avoir lu et j'ai hâte de vous voir sur notre blog la semaine prochaine!
Téléchargements disponibles
Excel Regex Exemples d'extrait (fichier .xlsm) version d'essai ultime (fichier .exe)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Ce tutoriel explique comment calculer la médiane des données numériques dans Excel en utilisant la fonction médiane. La médiane, une mesure clé de la tendance centrale, identifie la valeur moyenne dans un ensemble de données, offrant une représentation plus robuste de Central Tenden

Master Google Sheets Counif: un guide complet Ce guide explore la fonction Countif polyvalente dans Google Sheets, démontrant ses applications au-delà du simple comptage de cellules. Nous couvrirons divers scénarios, des matchs exacts et partiels à Han

Ce tutoriel fournit un guide complet pour partager des classeurs Excel, couvrant diverses méthodes, contrôle d'accès et résolution des conflits. Les versions Excel modernes (2010, 2013, 2016 et plus tard) simplifient l'édition collaborative, éliminant la nécessité de m

Ce didacticiel explore diverses méthodes de conversion de fichiers .xls en images .jpg, englobant à la fois des outils Windows intégrés et des convertisseurs en ligne gratuits. Besoin de créer une présentation, de partager les données de la feuille de calcul en toute sécurité ou de concevoir un document? Convertir Yo

Ce tutoriel clarifie la fonction des noms Excel et montre comment définir des noms pour les cellules, les gammes, les constantes ou les formules. Il couvre également l'édition, le filtrage et la suppression des noms définis. Les noms Excel, bien qu'incroyablement utiles, sont souvent surlo

Ce tutoriel clarifie la distinction entre l'écart type et l'erreur standard de la moyenne, vous guidant sur les fonctions Excel optimales pour les calculs d'écart type. Dans les statistiques descriptives, la moyenne et l'écart type sont intrinssi

Ce tutoriel Excel montre comment calculer les racines carrées et la nième racines. Trouver la racine carrée est une opération mathématique courante et Excel offre plusieurs méthodes. Méthodes pour calculer les racines carrées dans Excel: Utilisation de la fonction SQRT: le

Déverrouillez la puissance de Google Sheets: un guide pour débutant Ce tutoriel présente les principes fondamentaux de Google Sheets, une alternative puissante et polyvalente à Mme Excel. Apprenez à gérer sans effort des feuilles de calcul, à tirer parti des caractéristiques clés et à collaborer


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel