En tant que nouveau développeur, les expressions régulières (ou expressions régulières comme " s communément connu), peut être intimidant en raison de l’étrange, la syntaxe ne connaissent pas: & nbsp; & nbsp; & nbsp;
Quand j’étais un nouveau développeur et vu l’expression ci-dessus pour la première fois, je me souviens de ma première pensée a été " dire quoi? I " m ne va jamais être en mesure d’apprendre que charabia. Ce " s trop pour moi. Je peux " t le faire ".
Mais vous pouvez! It " est juste une question d’obtenir plus de ce sentiment initial écrasante que les expressions régulières sont trop étrangères. Tout comme l’apprentissage ou de parler une langue étrangère et mdash; une fois que vous obtenez le coup de lui, il viendra assez naturellement. Je promets!
Dans cet article, nous examinons ce que les expressions régulières sont, pourquoi ils sont utilisés, et comment les utiliser en Python. Au moment o√π vous avez terminé cet article, vous et rsquo; aurez une bonne compréhension des expressions régulières de sorte que vous pouvez interpréter ce que l’expression ci-dessus signifie
Quelles sont les expressions régulières & nbsp;!
nous jeter un oeil à ce que l’expression régulière est, nous devons nous rappeler ce qu’est une chaaîne est. Rappelez-vous qu’une chaaîne est juste une collection de caractères qui sont enfilées et délimité par un ensemble de guillemets:
& ldquo ; Bonjour tout le monde et rdquo; & Ldquo; 555-555-5555 " & Nbsp; & nbsp; & nbsp; " John Doe 123 Main St. Partout, √âtats-Unis 99999-9999 " & Nbsp; & nbsp; " [email protected]‚"
Ce sont tous des exemples de chaaînes. Ils peuvent être d’une longueur quelconque, ou pas du tout longueur. Les expressions régulières, ou plus souvent raccourcies regex , est une expression dont les composantes correspondent des modèles haut avec des chaaînes pour trouver une sorte d’information.
81% des participants ont déclaré ils se sentaient plus confiants au sujet de leurs perspectives d’emploi technologie après avoir assisté à un bootcamp. . √ätre adapté à un bootcamp aujourd’hui
La bootcamp moyenne grad a passé moins de six mois en transition de carrière, de démarrer un bootcamp à trouver leur premier emploi
Qu’est-ce que ". S grand sur regex est qu’il doesn " SOIGNENT nécessairement la langue que vous codez dans & mdash; it " s assez agnostique de la langue. La différence est dans la langue et rsquo; s les méthodes et la façon d’effectuer des actions en utilisant ces expressions & nbsp;.
Que sont les expressions régulières utilisées pour
Regex est un modèle que nous voulons? regarder spécifiquement dans une chaaîne. Nous pouvons utiliser regex pour rechercher une expression particulière ou un motif pour le remplacer par quelque chose d’autre, ou nous pouvons valider des formulaires pour être certain qu’un utilisateur est saisie d’informations dans un certain format afin qu’il soit conforme à tous les utilisateurs. <
h4> Rechercher et remplacerDisons, par exemple, nous avons un numéro de téléphone présenté dans ce format:
555 555 5555
Ceci est un format valide pour un numéro de téléphone aux √âtats-Unis. Mais si nous voulions remplacer les espaces par des tirets? Vous pouvez également ajouter des parenthèses autour du code régional et un tableau de bord pour le rendre plus lisible?
On peut utiliser des expressions régulières pour cela! Nous " allons passer en revue dans la section suivante comment faire avec Python & mdash; pour l’instant je veux que vous l’idée générale de ce que vous pouvez faire avec des expressions régulières et comment ils peuvent être utiles.
Le résultat que nous verrions après une recherche et de remplacement sur un numéro de téléphone Python pour le format que nous aimerions utiliser serait:
Il n’y a pas besoin de hardcode ou l’apparence d’une valeur spécifique ou de l’indice de la chaaîne dans les expressions régulières parce que nous pouvons simplement chercher les modèles dans les cordes et de manipuler tous les dossiers que nous devons correspondre.
Valider
Avez-vous déjà rempli quelque chose sur un site seulement pour elle à l’affichage un message d’erreur en raison d’un symbole manqué ou un motif que vous didn " suivi de t? Plus que des expressions régulières susceptibles ont été utilisés pour vous assurer que votre entrée correspond ce que leur base de données est à la recherche.
Ceci est appelé validation et est super formes utiles lors de la construction d’être certain qu’un numéro de téléphone suit le le format que vous " d comme pour qu’il soit ou qu’une adresse e-mail est une adresse e-mail correctement formaté, ou un mot de passe correspond aux paramètres que vous avez définis pour qu’il soit un mot de passe valide (longueur, caractères spéciaux, chiffres, majuscules ou petit boaîtier , etc.) & nbsp;.
Cela permet d’éviter des erreurs dans votre base de données en alertant l’utilisateur de motifs ou fautes de frappe Mismatched & nbsp;.
dans la section suivante, nous allons jeter un regard sur les composants ou matchers motif qui construisent des expressions régulières.
Types de Regex sur motif
caractères littéraux, métacaractères, et quantificateurs faire les types de matchers motif que nous voyons dans regex. Un motif matcher est un caractère qui est utilisé pour aider à trouver un motif dans une chaaîne. Il est le principal bloc de construction d’une expression régulière.
Caractères littéraux
L’exemple le plus élémentaire d’un matcher motif en est regex un caractère littéral. Il correspond à un caractère codé en dur ou une chaaîne
Exemples:. & Nbsp;
bonjour
& rarr; collection de cinq caractères distincts.
Quand un motif regex est appliqué ici, il semble pour chacun de ces personnages successivement. & Ldquo; bonjour & rdquo ;, " & rdquo ;, helloing ou " helloed " passerait une vérification de modèle, mais " & rdquo ;, Bonjour " & rdquo ;, HELO ou " BONJOUR " ne serait pas.
"Carrière Karma est entré dans ma vie quand j’avais le plus besoin et m’a aidé rapidement match avec un bootcamp. Deux mois après avoir terminé, j’ai trouvé mon travail de rêve aligné avec mes valeurs et objectifs dans la vie "
Vénus, ingénieur logiciel chez Rockbot
A
& rarr!; collection d’un caractère distinct.
Parce que les regards regex pour les caractères distincts, il est trop sensible cas. So " A " passerait, mais " un " ne serait pas. Nous " allons entrer dans ce plus un peu & nbsp;.
Une phrase simple
. & Rarr; collection de plusieurs caractères distincts.
Regex regards pour tous les caractères de l’expression successivement quand il regarde une chaaîne. Si " une phrase simple et rdquo; est pas dans la chaaîne recherchée exactement comme il est écrit dans l’expression régulière, il ne passerait pas.
Caractères d’échappement
Jetez un oeil à l’exemple précédent. Notez qu’il ya un devant de la période. Un point dans la syntaxe d’expression régulière est synonyme de mots-clés dans des langues comme JavaScript ou Python
Vous pouvez ". T utiliser une période / point sur son propre si vous voulez faire partie d’un motif dans expressions régulières. Vous devez échapper au caractère pour que le moteur d’expression régulière à interpréter comme une représentation littérale d’une période au lieu du sens regex & nbsp;.
Voici quelques autres séquences spéciales de caractères besoin d’être échappé si vous voulez que le caractère littéral au lieu de traduire ce qui signifie que le moteur de regex il compile à.
- Asterisk *
- Backslash /
- plus +
- Caret ^
- Symbole du dollar $
- Dot / Période
- tuyau |.
- question Mark
- parenthèses & ndash?; Les deux types ()
- Spirales Accolades & ndash; Les deux types {}
Caractères littéraux en match regex exactement avec le caractère que vous incluez dans le cadre du modèle. Si vous souhaitez inclure un caractère et rsquo; s énumérés ci-dessus, assurez-vous d’y échapper pour qu’il puisse aussi être une partie de votre regex
Common Matchers
Le but d’un. matcher est de faire correspondre plusieurs lettres dans un motif. Cette collection de symboles de correspondance de motif est assez cohérent entre les langages de programmation que l’utilisation regex.
matcher | description de | Exemple |
. | tout caractère | nw correspondrait maintenant, Naw ou nouvelle , etc. Tout caractère passe le test |
^ regex | pour modèle à Looks au début de la ligne | ^ bonjour correspondrait bonjour en ligne qui a commencé avec ce modèle |
regex $ | Looks pour modèle à la fin de la ligne | $ mondiale serait monde correspondre à une ligne qui a pris fin avec ce modèle |
[abc] | Matchs a, b, ou c & nbsp; | [misp] est considéré comme un ensemble et correspondrait à une chaaîne qui a l’un de ces caractères dans ce & nbsp;. Par exemple, il pourrait correspondre à toutes les lettres individuelles dans mississippi, et de manquer, mais seulement quelques-unes des lettres dans le marais et missouri |
[abc] [xyz] | Matc hes a, b, ou c suivi par x, y ou z | / [mm] [sip] / correspondrait à une chaaîne qui commence par M ou m, suivie d’un ensemble qui présente l’un des caractères [SIP] |
[^ abc] | Non a, b, ou c | [^ rstlne] correspondraient tout caractère qui ne sont pas r, s, t, l, n, ou e |
[a-zA-Z0-9] | Correspond à tout caractère dans la plage | [un] serait correspond à tout caractère entre a et n. et, à la fin, aveugle, peut , tous ont des caractères qui correspondent tout à fait ici |
A | B | A ou B | m | m. correspondrait à un mot ou une phrase au moins deux caractères de longueur qui correspond soit à un M ou un m plus au moins un ou plusieurs autres caractères. |
CAT | Matches C, suivi par A, suivi par T | Bonjour tout le monde égalerait Bonjour tout le monde exactement |
métacaractères
Les expressions régulières utilisent également métacaractères pour décrire un modèle. Métacaractères ont une sorte de sens derrière eux et décriront la forme du motif.
métacaractère | description de | Exemple | ||||||||||||||||||
d | ne importe quel chiffre | d correspondrait à 1, 2 ou 3, etc. sténographie pour [0-9] | ||||||||||||||||||
D | ne importe quel caractère non chiffres | D correspondrait A, B, g, etc .. pour sténographie [^ 0-9] & nbsp; | ||||||||||||||||||
s | Matchs les espaces blancs caractère | s correspondrait à de nouvelles lignes, des onglets, des espaces, etc. & nbsp; | ||||||||||||||||||
s | Matchs non une caractère -whitespace & nbsp; | S ne correspond à aucun caractère sauf un caractère des espaces & nbsp;. | ||||||||||||||||||
w | correspond à tout caractère de mot | un caractère de mot, abréviation de [a-zA-z_0-9] | ||||||||||||||||||
W | tout caractère non-mot | [W] ne correspond à aucun des caractères spéciaux. Sténographie pour [^ w] |
Quantifier | description de | Exemple |
+ | une ou plusieurs des précédentes caractère | d + correspondrait à deux ou plusieurs chiffres |
* | zéro ou plusieurs des précédentes caractère | . * correspondrait à tout caractère 0 fois & nbsp ou plus; note: techniquement une chaaîne vide remplirait cette regex |
zéro ou l’un des!? caractère précédent | a * correspondrait a, tout, bonjour, monde & nbsp;?. | |
{numéro} | Matches précédents caractère exactement nombre de fois & nbsp; | d {3} correspond exactement à trois chiffres [0-9] |
{num1, num2} | Matches précédents caractère dans une gamme de nums | d {3,5} correspond 3 à 5 chiffres qui sont [0-9] |