Concepts de base
Une expression régulière est un modèle de texte qui comprend des caractères normaux (par exemple, des lettres entre A à Z) et des caractères spéciaux (appelés "Metachars"). Le modèle décrit une ou plusieurs chaînes à correspondre lors de la recherche de texte.
Premièrement, plusieurs éditeurs d'expression régulières sont recommandés
Debuggex: https://www.debuggex.com/
Pyregex: http://www.pyregex.com/
Regexper: http://www.regexper.com/
Les expressions régulières sont des opérations de recherche et de remplacement des chaînes. Les expressions régulières sont largement utilisées dans les éditeurs de texte, tels que les expressions régulières sont utilisées pour:
[Copier] Vérifiez si le texte contient le mot caractéristique spécifié
Découvrez où se trouvent les mots caractéristiques correspondants dans le texte
Extraire les informations du texte, telles que: sous-chaînes de chaînes
Modifier le texte
Remarque: Les expressions régulières sont généralement utilisées pour deux tâches: 1. Vérification, 2. Recherche / remplacer. Lorsqu'il est utilisé pour la vérification, il est généralement nécessaire d'ajouter ^ et $ avant et après pour correspondre à la chaîne entière à vérifier; Il faut ajouter cette limitation lors de la recherche / remplacement dépend des exigences de recherche. De plus, il est également possible d'ajouter / b au lieu de ^ et $ avant et après. À l'exception de quelques-uns, aucune restriction n'est ajoutée avant et après les expressions régulières communes répertoriées dans ce tableau. Veuillez les gérer vous-même au besoin.
Ordre de priorité
Après avoir construit une expression régulière, vous pouvez évaluer comme une expression mathématique, c'est-à-dire que vous pouvez évaluer de gauche à droite et dans un ordre prioritaire. Le tableau suivant répertorie l'ordre prioritaire de divers opérateurs d'expression réguliers de la priorité la plus élevée à la priorité la plus basse:
| Opérateur | décrire |
|---|---|
| / / | Symbole d'échappement |
| (), (? :), (? =), [] | Accolades et crochets |
| *, +,?, {n}, {n,}, {n, m} | Qualificatif |
| ^, $, / anymetacharacter | Position et commande |
Créer des expressions régulières
La méthode de construction d'expressions régulières est la même que la méthode de création d'expressions mathématiques. Autrement dit, utiliser plusieurs métacharacteurs et opérateurs pour combiner de petites expressions pour créer des expressions plus grandes.
Une expression régulière peut être construite en mettant divers composants du modèle d'expression entre une paire de séparateurs.
Pour JScript, le délimiteur est une paire de caractères (/) de caractères avant. Par exemple:
/expression/
Pour VBScript, une paire de citations ("") est utilisée pour déterminer les limites de l'expression régulière. Par exemple:
La copie de code est la suivante:
"expression"
Voir un exemple
La copie de code est la suivante:
// correspond à la question de savoir si le compte est légal (commençant par des lettres, 5-16 octets autorisés, les soulignements alphanumériques autorisés
var re = new regexp ("^ [a-za-z] [a-za-z0-9 _] {5,19} $");
if (re.test (aaaa)) {
alert ("format correct");
}autre{
alert ("Erreur de format");
}
Les composants des expressions régulières peuvent être un seul caractère, un ensemble de caractères, une gamme de caractères, un choix entre les caractères ou toute combinaison de tous ces composants.
Expressions régulières couramment utilisées
Expression régulière correspondant aux caractères chinois: [/ u4e00- / u9fa5]
Commentaire: La correspondance chinoise est vraiment un mal de tête, c'est facile à faire avec cette expression
Faites correspondre les caractères à deux octets (y compris les caractères chinois): [^ / x00- / xff]
Commentaire: Il peut être utilisé pour calculer la longueur d'une chaîne (un compteur de longueur de caractères à deux octets 2, compteur de caractères ASCII 1)
Expression régulière correspondant aux lignes vierges: / n / s * / r
Commentaire: Peut être utilisé pour supprimer les lignes vierges
Expression régulière correspondant aux balises HTML: <(/ s *?) [^>] *>. *? <// 1> | <. *? />
Commentaire: La version circulant en ligne est trop mauvaise, et celle ci-dessus ne peut égaler que la pièce, et il est toujours impuissant d'utiliser des marqueurs imbriqués complexes.
Expression régulière correspondant aux caractères blancs d'espace de début et de fin: ^ / s * | / s * $
Commentaire: Il peut être utilisé pour supprimer les caractères d'espace blanc au début et à la fin de la ligne (y compris les espaces, les onglets, les pauses de page, etc.), une expression très utile
Expression régulière correspondant à l'adresse e-mail: /w+(ative-+.
Commentaire: c'est très pratique lors de la vérification du formulaire
URL de correspondance d'expression régulière: [a-za-z] +: // [^ / s] *
Commentaire: Les fonctions de la version circulant en ligne sont très limitées, et ce qui précède peut essentiellement répondre aux besoins
Faites correspondre si le compte est légal (en commençant par des lettres, 5-16 octets autorisés, les soulignements alphanumériques autorisés): ^ [a-za-z] [a-za-z0-9 _] {4,15} $
Commentaire: c'est très pratique lors de la vérification du formulaire
Correspondre au numéro de téléphone domestique: / d {3} - / d {8} | / d {4} - / d {7}
Commentaire: Les formulaires correspondants sont les suivants: 0511-4405222 ou 021-87888822
Correspondre à Tencent QQ Number: [1-9] [0-9] {4,}
Commentaire: Le numéro Tencent QQ commence à 10 000
Faites correspondre le code postal chinois: [1-9] / d {5} (?! / D)
Commentaire: le code postal de la Chine est de 6 chiffres
Carte d'identification de correspondance: / d {15} | / d {18}
Commentaire: La carte d'identité de la Chine est de 15 ou 18 chiffres
Correspondre à l'adresse IP: /d+/./d+/./d+/./d+
Commentaire: il est utile lors de l'extraction d'adresses IP
Faire correspondre les nombres spécifiques
[Copie] ^ [1-9] / d * $ // correspond aux entiers positifs
^ - [1-9] / d * $ // correspond aux entiers négatifs
^ -? [1-9] / d * $ // correspond aux entiers
^ [1-9] / d * | 0 $ // correspond aux entiers non négatifs (entier positif + 0)
^ - [1-9] / d * | 0 $ // correspond aux entiers non positifs (entiers négatifs + 0)
^ [1-9] / d * /. / D * | 0 /./ d * [1-9] / d * $ // correspond aux nombres de points flottants positifs
^ - ([1-9] / d * /. / D * | 0 /./ d * [1-9] / d *) $ // correspond aux numéros de points flottants négatifs
^ -? ([1-9] / d * /. / D * | 0 /./ d * [1-9] / d * | 0? /. 0+ | 0) $ // correspond aux numéros de point flottants
^ [1-9] / d * /. / D * | 0 /./ d * [1-9] / d * | 0? /. 0+ | 0 $ // correspond aux nombres de points flottants non négatifs (nombres de points flottants positifs + 0)
^ (- ([1-9] / d * /. / D * | 0 /./ d * [1-9] / d *)) | 0? /. 0+ | 0 $ // correspond aux nombres de points flottants non positifs (nombres de points flottants négatifs + 0)
Commentaire: Il est utile lors du traitement de grandes quantités de données et veillez à la corriger lors de l'application en détail.
Faire correspondre une chaîne spécifique
[Copie] ^ [a-za-z] + $ // correspond à une chaîne composée de 26 lettres anglaises
^ [Az] + $ // correspond à une chaîne composée de 26 capitalisations de lettres anglaises
^ [az] + $ // correspondent à une chaîne composée de 26 lettres anglaises minuscules
^ [A-za-z0-9] + $ // correspond à une chaîne composée de nombres et 26 lettres anglaises
^ / w + $ // correspond à une chaîne composée de nombres, 26 lettres ou soulignements anglais
Commentaire: Certaines des expressions les plus fondamentales et les plus couramment utilisées
Carte mentale