Bases de Java (expressions régulières)

Grammaire de base

1. Choisissez

| Le symbole de barre verticale représente la sélection (c'est-à-dire, l'union) et a la priorité la plus basse. Par exemple, "aaa | bbb" peut correspondre à aaa ou bbb.

2. Quantité limitée

Le qualificatif de quantité après un caractère est utilisé pour limiter le nombre de caractères autorisés dans le caractère précédent.

Les qualificatifs de quantité les plus courants incluent "+", "?" Et "*" (la quantité non qualifiée signifie qu'elle n'apparaît qu'une seule fois):

(1) Le signe + signifie que le caractère précédent doit apparaître au moins une fois. (1 fois ou plus).

        Par exemple, "goo + gle" peut correspondre à google, gooogle, goooogle, etc.;

 (2) ? Le point d' interrogation indique que le caractère précédent ne peut apparaître qu'une fois au maximum. (0 fois ou 1 fois).

        Par exemple: "colou? R" peut correspondre à la couleur ou à la couleur;

 (3) * L' astérisque indique que le caractère précédent peut ne pas apparaître ou peut apparaître une ou plusieurs fois. (0 fois, ou 1 fois, ou plusieurs fois).

        Par exemple, "0 * 42" peut correspondre à 42, 042, 0041, 00042, etc.

3. Règles d'expression

  (1)     Position de départ de la chaîne correspondante

(2)   $    correspond à la position de fin de la chaîne

Cas:

String s1 = "111223abc";
String regex = "^[0-9]+abc$";
boolean b = s1.matches(regex);
System.out.println(b);

(3) {n}  n est un entier non négatif. Match n fois

     Exemple: o {2} peut correspondre à la nourriture, pas à Bob.

(4) {n,}   n est un entier non négatif. Match n fois

     Exemple: [o {2,}]

         Ne peut pas correspondre à "o" dans "Bob", mais peut correspondre à tous les o dans "foooood".

        "o {1,}" est équivalent à "o +"

        "o {0,}" est équivalent à "o *".

(5) {n, m}   m et n sont des entiers non négatifs, où n <= m. Correspond au moins n fois et au plus m fois.

(6) x représente le caractère x

       Exemple: La règle de correspondance est "a" , alors le contenu de la chaîne à mettre en correspondance est "a".

(7) Jeu de caractères [abc]  , correspondant à l'un des caractères contenus.

       Exemple: "[abc]" , le contenu correspondant est celui du caractère a, ou du caractère b, ou du caractère c

Cas: Correspondre au numéro de téléphone mobile

/匹配手机号
//长度11位,开头为1,第二个数字是3、7、5、8
String regex4="1[3758][0-9]{9}";
Scanner sc=new Scanner(System.in);
System.out.println("请输入手机号:");
String number=sc.next();
boolean result=number.matches(regex4);
if(result==true)
     System.out.println("手机号匹配!");
else
     System.out.println("手机号不匹配!");

(8) [^ abc]   Jeu de caractères exclu, ce qui signifie tout caractère sauf a , b ou c

(9) [a-zA-Z]     correspond à a à z ou A à Z , les deux lettres sont incluses

 (10)   [0-9]   correspond à 0 à 9 chiffres, y compris les deux chiffres

 (11)  [a-zA-Z_0-9] correspond à des lettres ou des chiffres ou des traits de soulignement ( c.-à-d. Des caractères de mots )  

 (12) . (Le point) correspond à n'importe quel caractère sauf "\ n". Si vous souhaitez utiliser., Utilisez la règle de correspondance "\\". Pour obtenir

(13) \ d    correspond à un caractère numérique. Équivalent à [0-9].

(14) \ w   correspond à n'importe quel caractère de mot, y compris les traits de soulignement. Équivalent à "[A-Za-z0-9_]".

(15) \ b    correspond à une limite de mot, c'est-à-dire la position entre le mot et l'espace.

          Par exemple, "er \ b" peut correspondre à "er" dans "jamais", mais pas à "er" dans "verbe".

Cas: Boîte aux lettres correspondante

String regex="[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)+";
System.out.println("[email protected]".matches(regex));

 

Publié 75 articles originaux · loué 164 · 110 000 vues

Je suppose que tu aimes

Origine blog.csdn.net/qq_41679818/article/details/93332102
conseillé
Classement