Quelle est l'expression régulière? Les expressions régulières sont des combinaisons de caractères spécifiques prédéfinis qui forment une chaîne de caractères de règles de filtrage.
L'expression régulière peut être utilisée pour:
给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
可以通过正则表达式,从字符串中获取我们想要的特定部分。
Pour vous faciliter l'apprentissage, je vous recommande Regextor, un logiciel de vérification des expressions régulières.
Les expressions régulières peuvent contenir uniquement du texte ordinaire, ce qui représente une correspondance précise du texte; par exemple:
L'expression régulière est:song
Le texte est en attente de correspondance.
Résultats après correspondance: xiaosong
Je vous en prie.
L'expression régulière est en majuscules par défaut, de sorte que le chant ne correspond pas à Song Song. Cependant, la plupart des implémentations de l'expression régulière offrent une option pour indiquer l'absence de majuscules.
. est utilisé pour correspondre à un caractère quelconque, par exemple:
L'expression régulière: c.t.
En attente de correspondance
Les résultats après correspondance:cat
cet
Caat dog
Analyse: c.t correspond à une chaîne de caractères commençant par " c " et se terminant par " t " avec un caractère aléatoire au milieu.
同理,多个连续的.可以匹配多个连续的任意字符:
Expression régulière: c...t
En attente de correspondance
Résultats après correspondance: cat cetcaat
le chien
. contient une signification particulière dans l'expression régulière et est un caractère particulier..\ est également un caractère particulier qui peut jouer un rôle de traduction sur un caractère particulier................................................................................................
L'expression régulière: c.t.
En attente de correspondance
Résultats après correspondance: catc.t
Le chien
Remarque: comme \ est aussi un caractère spécial, il est nécessaire d'utiliser deux contrepoints \ pour faire correspondre un vrai caractère \:
L'expression régulière: c\t
En attente de correspondance
Résultats après correspondance: catc\t
le chien
Comme indiqué ci-dessus. Je peux faire correspondre n'importe quel caractère, mais que faire si je veux faire correspondre plusieurs caractères spécifiques?
L'expression régulière: c[ab]t
En attente de correspondance
Les résultats après correspondance:cat
cbt
Cet
L'analyse: [ab] correspond à "a
Dans l'exemple ci-dessus, si je veux faire correspondre cet, est-ce que j'ajoute un dans [?], et si je veux faire correspondre n'importe quelle lettre minuscule, est-ce que j'en écris des dizaines?
Expression régulière: c[a-z]t
En attente de correspondance: cat cbt czt c2t
Les résultats des matchs:cat
cbt
czt
c2t
Analysis: c[a-z]t est une lettre qui commence par "c" et se termine par "t" et se termine par une lettre "a" - "z" au milieu.
Il y a aussi des espaces similaires:
[0-9] fonctionne de la même façon que [0123456789]. [A-F] correspondant aux lettres majuscules A à F. [A-Z] correspond à tous les caractères en majuscules de A à Z. [a-z] correspond à tous les caractères minuscules de a à z. [A-z] correspond à tous les caractères de l'ASCII A à l'ASCII z (pas seulement à tous les caractères, mais aussi aux caractères de l'ASCII A à z, tels que [ et ^, etc.)). [A-Za-z0-9] correspond à toutes les lettres et chiffres en majuscules.
Les ensembles de caractères sont généralement utilisés pour spécifier un ensemble de caractères qui doivent être appariés. Mais parfois, vous voulez exclure un ensemble de caractères que vous ne voulez pas apparier. Cela peut être réalisé en refusant les ensembles de caractères.
L'expression régulière est: c[^a-z]t
En attente de correspondance: cat cbt czt c2t cAt
Résultats après correspondance: cat cbt cztc2t
cAt
Analyser: ceci est le contraire de l'exemple précédent. === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === === =========
Notez que le caractère ^ est un dématch de tous les caractères de la collection de caractères.
Les caractères élémentaires ont une signification particulière dans les expressions régulières, comme nous l'avons dit plus haut... [et].........................................................................................
Tous les caractères peuvent être précédés d'une transformation inverse de la courbe verticale, qui correspond à eux-mêmes plutôt qu'à leur signification particulière. Par exemple, [ correspond à " [ ":
Expression régulière: a[b]
En attente de correspondance: a[b ab a[[b
Les résultats après correspondance:a[b
Ab a [[b]]
Remarque: \ est utilisé pour transférer des caractères méta, ce qui signifie que \ est aussi un méta-caractère.
L'expression régulière: a\b
Télécharger le texte: a\b a\b a[[b]
Résultats après correspondance: a\ba\b
Le nombre d'heures
Parfois, vous devrez peut-être faire correspondre des caractères blancs qui ne peuvent pas être imprimés dans le texte. Par exemple, vous souhaitez trouver tous les caractères Tab ou tous les caractères de remplacement. Vous pouvez utiliser les caractères spéciaux de la table suivante:
Par exemple, \r\n correspond à une combinaison de virages, ce qui représente une virage de fichier dans Windows. Dans Linux et Unix, il suffit d'utiliser \n.
Il y a des méta-caractères spéciaux qui peuvent être utilisés pour correspondre à des ensembles de caractères couramment utilisés. Ces méta-caractères sont appelés classes de caractères correspondantes. Vous trouverez qu'ils sont très pratiques à utiliser.
Compatible numérique ou non numérique Comme indiqué ci-dessus, tous les nombres peuvent être appariés. Si vous ne voulez pas apparier n'importe quel nombre, vous pouvez utiliser [^0-9]. La table suivante répertorie les caractères de classe numériques et non numériques:
L'expression régulière: c\dt
En attente de correspondance
Résultats de la correspondance: catc2t
CZTc9t
L'expression régulière: c\Dt
En attente de correspondance
Les résultats des matchs:cat
C2tczt
c9t
Compatible avec les caractères alphabétiques et non alphabétiques
Un autre caractère de classe commun est \w et \W:
L'expression régulière: c\wt
En attente de correspondance
Les résultats des matchs:cat
c2t
Je suis désolé.
L'expression régulière est: c\Wt
En attente de correspondance
Résultats après correspondance: cat c2tc-t
c\t
Matcher les blancs et les non-blancs
La dernière classe de correspondance à rencontrer est la classe blanche:
L'expression régulière: c\st
En attente de correspondance
Résultats après correspondance: catc t
Les prix
L'expression régulière: c\St
En attente de correspondance
Les résultats des matchs:cat
c tc2t
c\t
Le caractère + signifie qu'il correspond à un ou plusieurs caractères. Par exemple, a correspond à un "a" et a+ correspond à un ou plusieurs "a".
L'expression régulière: cat
En attente de correspondance
Résultats après correspondance: ctcat
- Je ne sais pas.
L'expression régulière: ca + t
En attente de correspondance
Résultats après correspondance: ctcat
caat
caaat
Lorsque vous utilisez + sur un ensemble de caractères, vous devez placer le symbole + à l'extérieur du ensemble:
L'expression régulière est: c[0-9]+t
En attente de correspondance: ct c0t cat c123t
Résultats après correspondance: ctc0t
le chatc123t
Analyse: c[0-9]+t signifie une chaîne de caractères commençant par "c" et se terminant par "t" avec un ou plusieurs chiffres au milieu.
Bien sûr, [0-9+] est aussi une expression régulière légitime, mais elle indique un ensemble de caractères contenant les symboles "0" - "9" et "+".
Généralement, les méta-caractères tels que. et + sont utilisés comme signification littérale lorsqu'ils sont utilisés dans des ensembles de caractères, il n'est donc pas nécessaire de les traduire. Mais il est normal de les traduire, donc, [0-9+] et [0-9+] ont la même fonction.
Remarque: + est un méta-caractère, et pour correspondre à "+" il faut utiliser le dérivé +。
Si vous souhaitez faire correspondre zéro ou plus de caractères, vous pouvez utiliser *meta characters.
L'expression régulière: ca*t
En attente de correspondance
Les résultats après correspondance:ct
cat
caat
Je suis désolé.
Remarque:* Les symboles sont des méta-caractères.
? correspond à un zéro ou à un caractère. Ainsi,? est parfait pour correspondre à un caractère optionnel dans le texte.
L'expression régulière: ca?t
En attente de correspondance
Les résultats après correspondance:ct
cat
Caat cbt
Remarque:? est un symbole métrique.
Les expressions régulières permettent de spécifier le nombre de fois où une correspondance peut être effectuée. Le nombre peut être spécifié entre les verbe {verbe et verbe}. Remarque: {et} sont également des méta-caractères, qui nécessitent une traduction lorsque l'on utilise un sens littéral.
Le nombre exact de correspondances Pour spécifier le nombre de fois où vous devez faire une correspondance, vous pouvez entrer un nombre entre {et}. Par exemple, {3} correspondra aux caractères ou aux ensembles qui apparaissent 3 fois avant:
L'expression régulière: ca{3}t
En attente de correspondance
Résultats après correspondance: ct catcaaat
Je suis désolé.
Le nombre de fois au moins
On peut aussi spécifier uniquement la valeur minimale de la correspondance. Par exemple, {2,} signifie correspondance 2 fois ou plus:
L'expression régulière est: ca{1,} t
En attente de correspondance
Résultats après correspondance: ctcat
caaat
Je suis désolé.
Compatibilité entre les nombres décimaux
Nous pouvons également utiliser les valeurs minimale et maximale pour déterminer le nombre de correspondances. Par exemple, {2,3} signifie qu'il y a au moins 2 correspondances et au plus 3 correspondances.
L'expression régulière est: ca{2,3} t
En attente de correspondance
Résultats après correspondance: ct catcaaat
Je suis désolé.
Donc? et {0,1} ont la même fonction, + et {1,} ont la même fonction.
Il y a aussi des sites de jeux vidéo.
L'expression régulière est: s.*g En attente de correspondance Résultats des matchs: xiao song xiao song Analyse: s.*g ne correspond pas aux deux "songs", comme prévu, mais correspond à tous les textes entre le premier s et le dernier g.
C'est parce que * et + sont des correspondances avides. C'est-à-dire que l'expression régulière cherche toujours la plus grande correspondance, et non la plus petite, ce qui est intentionnellement conçu.
Mais si vous ne souhaitez pas de correspondance avide, utilisez les correspondances non avides de ces mots-clés (qui correspondent au moins de caractères possible).
Je suis désolé.La version gratuite de l'application est disponible en anglais, donc vous pouvez utiliser *? pour modifier l'exemple ci-dessus:
正则表达式:s.Pourquoi?
En attente de correspondance
Résultats après correspondance: xiaosong
- Je sais.song
分析:可以看到s.? g correspond à deux "songs"?.
Les méta-caractères correspondant aux bordures des chaînes sont ^ et $, respectivement pour le début et la fin des chaînes.
^ Utilisé comme suit:
L'expression régulière: ^ xiao
Le texte est en attente de correspondance
Les résultats après correspondance:xiao
une chanson
Le texte est en attente de correspondance: axiaosong Les résultats de la correspondance: axiaosong Analyse: ^ xiao correspond à une chaîne commençant par " xiao ".
$ est utilisé comme suit:
L'expression régulière: song$
En attente de correspondance
Résultats après correspondance: xiaosong
En attente de correspondance Le résultat de l'appariement: Xiaosonga L'analyse: song$ correspond à une chaîne terminée par "song".
Partagé avec:
L'expression régulière est: ^ [0-9a-zA-Z] {4,} $
En attente de correspondance
Les résultats après correspondance:a1b234ABC
En attente de correspondance: + a1b23 = 4ABC Résultat après correspondance: + a1b23 = 4ABC Analyse: ^ [0-9a-zA-Z]{4,} $ correspondant à un chiffre ou à une lettre, et dont le nombre de chiffres est supérieur ou égal à une chaîne de quatre chiffres.
Remarque: ^ est négatif si elle se trouve au début de la collection; si elle se trouve à l'extérieur de la collection, elle correspond au début de la chaîne.
Cependant, le mode multilinial peut être activé. Dans le mode multilinial, les moteurs d'expressions régulières utilisent le symbole de remplacement comme séparateur de la chaîne, ^ correspond au début du texte ou au début d'une ligne, et $ correspond à la fin du texte ou à la fin d'une ligne.
Modifiez l'exemple précédent:
L'expression régulière est la suivante:
En attente de correspondance + a1b23 est égal à 4ABC ABC123456 Je suis désolé
Les résultats après correspondance:a1b234ABC
+a1b23=4ABC Pour les produits de baseABC123456
L'analyse: ((?m) ^ [0-9a-zA-Z]{4,} $ va correspondre à chaque ligne de chiffres ou de lettres, et le nombre de chiffres est supérieur à une chaîne de quatre chiffres.
Remarque: si vous utilisez le mode multiligne, ((?m) doit être placé au début de l'expression régulière. (?m) n'est pas pris en charge dans la plupart des implémentations d'expressions régulières. Certaines implémentations d'expressions régulières prennent également en charge l'utilisation de \A pour le début de la matrice et \Z pour la fin de la matrice.
Traduit de l'anglais et traduit de l'anglais