Apprenez les bases des expressions régulières
Cet article parle des bases des expressions régulières de JavaScript Si vous n'êtes pas familier avec les expressions régulières JavaScript, vous pouvez simplement venir les apprendre. de JavaScript. Expressions régulières, pour ceux qui ne les connaissent pas, jetons-y un coup d'œil ensemble !
Expression régulièreApprentissage (mis à jour continuellement)
Aujourd'hui, j'ai appris l'objet RegExp lorsque j'apprenais le javascript , j'en ai profité pour apprendre les expressions régulières. Je n'y ai jamais été exposé auparavant, j'en ai donc profité pour les apprendre.
Site Web de référence : Tutoriel d'introduction de 30 minutes sur les expressions régulièresCliquez pour ouvrir le lien
1. Qu'est-ce qu'une expression régulière
Les expressions régulières sont utilisées pour exprimer des règles de correspondance chaînes .
2. Concepts associés aux expressions régulières
2.1Métacaractères
Les métacaractères sont spécifiés dans les expressions régulières Un symbole spécial ajouté à expressions régulières pour remplacer certaines règles.
b | 表示单词的开始或结束 |
. | 表示除换行以外的任意字符 |
* | 表示*前面出现的任意个数的该字符,例如a*,表示前面有任意个数的a(重复0次或多次) |
+ | signifie n'importe quel nombre du caractère qui apparaît avant +, tel que a+, signifie qu'il y a n'importe quel nombre de caractères avant un (répéter 1 ou plusieurs fois)
|
? | 重复0或1次 |
{n} | 重复n次 |
{n, } | 重复大于等于n次 |
{n, m} | 重复n到m次 |
d | 表示一个0-9的数字 |
w | 匹配字母或数字或下划线或汉字 |
s | 匹配任意的空白符,包括空格、制表符、换行符、中文全角空格等 |
^ | 匹配字符串的开始 |
& | 匹配字符串的结束 |
3. Expressions régulières simples
Partez directement de l'exemple :
Exemple 1 : Quand je veux faire correspondre le mot bonjour, l'expression régulière écrite L'expression (règle de correspondance) est : bonjour
Cela correspondra à tous les mots contenant bonjour, tels que : bonjourmonde correspond également, mais si vous voulez uniquement faire correspondre bonjour, alors vous avez besoin pour utiliser le métacaractère b pour séparer bonjour avant et après pour former un mot séparé bonjour, alors l'expression régulière doit être : bhellob
Exemple 2 : Quand tu veux Si le bonjour que vous recherchez est suivi d'un monde à n'importe quel caractère, vous devez utiliser les métacaractères et *. L'expression régulière est bhellob.*worldb
Exemple 3 : Lorsque vous souhaitez faire correspondre des numéros de téléphone comme 021-xxxxxxx, vous devez utiliser 021-ddddddd, où "021-" est un caractère simple qui ne représente aucun signification particulière, et ce qui suit Le d utilisé est un métacaractère. Cette expression régulière peut être abrégée en 021-d{7}, ce qui signifie que d est répété 7 fois.
Exemple 4 : Faire correspondre 1 ou plusieurs nombres consécutifs, d+
Exemple 5 : Faire correspondre des mots commençant par a, baw*b
Exemple 6 : Faire correspondre un numéro QQ de 5 à 12 chiffres, ^d{5, 12}&
4. Échappement de caractère
Si la chaîne que vous souhaitez rechercher contient des métacaractères, vous devez les ajouter devant les métacaractères pour convertir les métacaractères en caractères ordinaires.
5. Classe de caractères
Le problème résolu dans cette partie est de savoir quoi faire si les caractères que vous souhaitez faire correspondre n'ont pas de métacaractères correspondants, alors nous besoin de créer manuellement une classe de caractères. Par exemple, s'il n'y a pas de d correspondant au nombre 0-9, alors lorsque nous voulons trouver n'importe quel nombre entre 0 et 9, nous pouvons créer une classe de caractères [0-9], qui fonctionne exactement comme d pareil. Par exemple, les expressions régulières (?0d{2}[), -]?d{8} peuvent être utilisées pour faire correspondre les numéros de téléphone. Veuillez expliquer tour à tour( représente un échappement (,. ? signifie qu'il se répète 0 ou 1 fois, d signifie deux nombres, [), -] signifie la classe de caractères de ) et -, ? signifie qu'il se répète 0 ou 1 fois, suivi de 8 chiffres.
6. Conditions de branchement
Ce qui est écrit ci-dessus(?0d{2}[), -]?d{8} est comme ces expressions régulières peuvent correspondre à des chaînes incorrectes telles que (01012345678 ou (010-12345678). Dans de tels cas, vous pouvez utiliser des conditions de branchement. Les conditions de branchement sont similaires à la logique ou || dans js, et elles sont toutes court-circuitées Opérateur , se termine lorsqu'une condition peut être jugée de gauche à droite
Pour la situation ci-dessus, elle peut s'écrire (0d{2})d{8. } |0d{2}-d{8}|(0d{2})d{8}
7. Cette partie Afin de résoudre le problème de la répétition non pas d'un seul caractère, mais de plusieurs caractères, nous pouvons utiliser le qualificatif dans caractère + métacaractère lors de la répétition d'un seul caractère, mais lorsqu'il y a plusieurs caractères répétitifs, nous pouvons les ajouter en plus du caractères répétitifs (). Par exemple, l'expression régulière suivante peut être utilisée pour représenter l'adresse IP ?.){3}(2[0-4]d|25[0-5]|[01]?dd? )
8. Antonym
Lorsque vous avez besoin de trouver des caractères qui ne peuvent pas être facilement définis, tels que des caractères autres que xxx, vous devez l'utiliser Antony
W |
|
||||||||||||
D | Correspond à tout caractère qui n'est pas un nombre | ||||||||||||
B | Faire correspondre n'importe quel caractère qui n'est pas le début ou la fin d'un mot | ||||||||||||
S | Correspond à tout caractère qui n'est pas un espace | ||||||||||||
[^x] | Correspond à tout sauf x caractères autres que aeiou | ||||||||||||
[^aeiou] | Correspond à des caractères autres que aeiou |
9.Référence arrière
Le contenu de cette partie correspond au regroupement précédent lorsque nous utilisons () pour regrouper les caractères, nous pourrons continuer à faire référence à ce regroupement par numérotation plus tard. Pour le regroupement par (), le regroupement commence à 1 dans l'ordre d'apparition de (. Par exemple, l'expression régulière b(w+)s+1b peut être utilisée. pour correspondre aux occurrences répétées, les mots, tels que go go, etc., font ici référence au regroupement apparaissant précédemment via 1.
Les autres syntaxes de référence arrière impliquées sont :
(exp) | 匹配exp,并捕获当前内容到自动的分组里 |
(? |
匹配exp,并捕获当前内容并分配组名为name |
(?:exp) | 匹配exp,不为捕获的内容分配组名 |
10. L'assertion de largeur nulle
est utilisée pour trouver la partie avant ou après une certaine partie du contenu mais n'inclut pas le contenu.
L'expression régulière (?=exp) signifie affirmer que la partie qui apparaît plus tard peut correspondre à l'expression exp. Par exemple, bw+(?=ingb) correspond à la partie avant des mots se terminant par ing. Par exemple, lors de la recherche de Je danse et chante, danse et chant seront mis en correspondance (puisqu'il y a w+, ils ne seront pas mis en correspondance avec s).
L'expression régulière (?<=exp) signifie affirmer que la partie précédente peut correspondre à l'expression exp. Par exemple, (?<=bre)w+b correspondra à la seconde moitié du mot commençant par re. Par exemple, lors d'une recherche de lecture, ading sera mis en correspondance. .
Si vous souhaitez ajouter une virgule tous les trois chiffres d'un nombre long, par exemple en ajoutant une virgule à 123456789, vous pouvez utiliser l'expression régulière ((?<=d) d{3 })+b, le résultat de la recherche est 234567890 (je ne comprends pas cette partie des règles de recherche...)
L'exemple suivant utilise deux assertions en même temps time (?=
De manière générale, le but de l'assertion de largeur nulle est de déterminer le point de départ ou le point d'arrivée des caractères correspondants selon certaines règles.
11. Assertion négative de largeur nulle
Comme mentionné précédemment, utilisez des antonymes pour trouver des caractères qui ne sont pas un certain caractère ou ne sont pas dans un certain caractère.
Par exemple, si vous souhaitez trouver un mot où la lettre q apparaît mais n'est pas suivie de u. Vous pourriez écrire bq[^u]w*b. Mais pour une telle expression, une erreur se produira lorsque q apparaîtra à la fin d'un mot, car [^u] correspondra au caractère séparateur du mot, qui correspondra alors au mot suivant, qui correspondra à des caractères tels que les combats en Irak. . chaîne.
Afin de résoudre le problème d'occupation des antonymes, nous pouvons utiliser une assertion négative de largeur nulle, car elle ne correspond qu'à une seule position et ne consomme aucun caractère. L'expression ci-dessus peut être écrite sous la forme bq(?!u)w*b.
De même, nous utilisons (?
Un exemple plus complexe : (?<=<(w+)>).*(?=1>)
Lorsque vous voyez le précédent (?<=) et le suivant (?=), vous savez que le recto et le verso sont des assertions de largeur nulle, et < ;(w+)> ; représente la balise html. Si la précédente est
12. Commentaires
Contenir des commentaires via la syntaxe (?#comment), Par exemple, 2[0-4]d(?#200-249).
13. Cupidité et paresse
Lorsqu'il s'agit de problèmes de correspondance de chaînes, le comportement habituel est de faire correspondre autant de caractères que possible. En prenant l'expression a.*b et la chaîne aabab comme exemple, aabab sera mis en correspondance au lieu de ab. Cette règle de correspondance est appelée correspondance gourmande.
Parfois, nous devons faire correspondre la correspondance paresseuse avec le moins de caractères possible. Dans ce cas, devons-nous l'ajouter après le qualificatif mentionné ci-dessus ? , comme a.*?b convertira la correspondance gourmande en correspondance paresseuse. À ce stade, aab (caractères 1 à 3) et ab (caractères 4 à 5) seront mis en correspondance (la raison spécifique implique les règles de correspondance des expressions régulières). .
14. Options de traitement
Semblable au drapeau en js, il existe l'insensibilité à la casse, le mode multi-ligne, le mode global, etc.
15. Groupe équilibré/correspondance récursive
Cette partie consiste à traiter le problème de correspondance, par exemple, si vous souhaitez faire correspondre l'expression mathématique ( 5*3))) (5*3) ne peut pas simplement être écrit sous la forme (.*), car cela correspondra à l'expression entière. Ensuite, la stratégie de correspondance à adopter est similaire au problème de correspondance entre parenthèses que nous avons appris. Utilisez la pile pour le résoudre. Lorsque vous rencontrez (appuyez sur la pile, rencontrez) un éclatement de la pile, si la dernière pile est vide, cela signifie que la pile est vide. les parenthèses dans l'expression correspondent complètement. Si elle n'est pas vide, le moteur d'expression régulière fera marche arrière pour que les parenthèses correspondent.
Recommandations associées :
Comment utiliser les expressions régulières en JS
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!

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

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

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

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Les expressions régulières PHP sont un outil puissant pour le traitement et la conversion de texte. Il peut gérer efficacement les informations textuelles en analysant le contenu du texte et en le remplaçant ou en l'interceptant selon des modèles spécifiques. Parmi elles, une application courante des expressions régulières consiste à remplacer des chaînes commençant par des caractères spécifiques. Nous expliquerons cela comme suit.

Les expressions régulières Golang utilisent le caractère barre verticale | pour faire correspondre plusieurs mots ou chaînes, séparant chaque option comme une expression OU logique. Par exemple : correspond à "fox" ou "dog" : fox|dog correspond à "quick", "brown" ou "lazy" : (quick|brown|lazy) correspond à "Go", "Python" ou "Java" : Go| Python |Java fait correspondre des mots ou des codes postaux à 4 chiffres : ([a-zA

PHP est un langage de script open source côté serveur largement utilisé qui peut gérer toutes les tâches de développement Web. PHP est largement utilisé dans le développement Web, notamment pour ses excellentes performances en matière de traitement dynamique des données, il est donc apprécié et utilisé par de nombreux développeurs. Dans cet article, nous expliquerons les bases de PHP étape par étape pour aider les débutants à devenir compétents. 1. Syntaxe de base PHP est un langage interprété dont le code est similaire au HTML, CSS et JavaScript. Chaque instruction PHP se termine par un point-virgule ;

Comment supprimer le chinois en utilisant les règles habituelles en PHP : 1. Créez un exemple de fichier PHP ; 2. Définissez une chaîne contenant le chinois et l'anglais ; 3. Utilisez "preg_replace('/([\x80-\xff]*)/i', '',$a);" La méthode standard peut supprimer les caractères chinois des résultats de la requête.

Dans cet article, nous apprendrons comment supprimer les balises HTML et extraire le contenu en texte brut des chaînes HTML à l'aide d'expressions régulières PHP. Pour montrer comment supprimer les balises HTML, définissons d'abord une chaîne contenant des balises HTML.

La sécurité des sites Web attire de plus en plus l’attention, et l’utilisation du protocole HTTPS pour garantir la sécurité de la transmission des données est devenue une partie importante du développement actuel des sites Web. En développement PHP, comment utiliser des expressions régulières pour vérifier si l'URL est le protocole HTTPS ? Découvrons-le ci-dessous. Expression régulière L'expression régulière est une expression utilisée pour décrire des règles. C'est un outil puissant pour traiter le texte et est largement utilisée dans la correspondance, la recherche et le remplacement de texte. Dans le développement PHP, nous pouvons utiliser des expressions régulières pour faire correspondre http dans l'URL

Conseils sur l'utilisation des expressions régulières PHP pour implémenter la fonction de remplacement du chinois. Dans le développement Web, nous rencontrons souvent des situations où le contenu chinois doit être remplacé. En tant que langage de script côté serveur populaire, PHP fournit de puissantes fonctions d'expression régulière, qui peuvent facilement réaliser un remplacement par le chinois. Cet article partagera quelques techniques d'utilisation d'expressions régulières pour implémenter la substitution chinoise en PHP et fournira des exemples de code spécifiques. 1. Utilisez la fonction preg_replace pour implémenter le remplacement chinois. La fonction preg_replace en PHP peut être utilisée.

Exemples de remplacement régulier PHP : maîtrisez rapidement les compétences de remplacement Avec le développement d'Internet, le développement de sites Web est devenu de plus en plus courant. Dans le développement de sites Web, il est souvent nécessaire de remplacer des chaînes, et les expressions régulières sont un outil très puissant qui permet de rechercher et de remplacer rapidement des chaînes. Cet article expliquera comment utiliser les expressions régulières dans le langage PHP pour effectuer des opérations de remplacement et fournira des exemples de code spécifiques pour aider les lecteurs à maîtriser rapidement les techniques de remplacement. Fonction 1.preg_replace en PHP, vous pouvez utiliser preg
