Série d'expressions régulières Java - Utilisation de Pattern et Matcher

Site Web original : série d'expressions régulières Java - utilisation de Pattern et Matcher_IT couteau tranchant blog dégainé-blog CSDN

Introduction

illustrer

Cet article présente l'utilisation de deux classes importantes dans les expressions régulières Java : Pattern et Matcher.

En Java, le package java.util.regex définit les classes associées utilisées par les expressions régulières, et les deux classes principales sont : Pattern et Matcher.

  1. Modèle : créez un modèle correspondant après avoir transmis l'expression régulière.
  2. Matcher : utilisez l'expression régulière fournie par l'instance de Pattern pour faire correspondre la chaîne cible.

exemple

// 将正则表达式编译成 Pattern 对象,(1 或 0 个符号,后跟 至少一个数组[0-9])
Pattern pattern = Pattern.compile("-?\\d+");

// 利用 Pattern 对象生成 Matcher 对象.
Matcher matcher = pattern.matcher("-1234");

// 查看匹配结果
System.out.println(matcher.matches());

Ce qui précède peut également être écrit comme ceci (si vous n'utilisez les expressions régulières qu'une seule fois, vous pouvez utiliser les correspondances de méthodes statiques de Pattern) :

// 使用 Pattern 对象的静态方法执行一次正则匹配.
System.out.println(Pattern.matches("-?\\d+", "123"));

Vous pouvez également écrire :

"123".matches("-?\\d+");

Modèle

créer

Les deux méthodes statiques suivantes peuvent créer un modèle

public static Pattern compile(String regex)
public static Pattern compile(String regex, int flags) 

Exemple: 

Pattern pattern = Pattern.compile("[a-z]\\d{3}.*");

Diviser

Cette méthode est utilisée pour diviser la chaîne et renvoyer un String[]

//通过正则表达式对input进行分割。
public String[] split(CharSequence input)

//通过正则表达式对input进行分割,limit参数指明分割的段数。
public String[] split(CharSequence input, int limit)

exemple

Pattern p=Pattern.compile("\\d+"); 
String[] str=p.split("我的QQ是:456456我的电话是:0532214我的邮箱是:[email protected]"); 

résultat

str[0]="我的QQ是:", str[1]="我的电话是:", str[2]="我的邮箱是:[email protected]"

autre

Créer une variable Matcher

public Matcher matcher(CharSequence input) Crée un objet Matcher pour l'entrée de chaîne cible.

Convertir la chaîne s en un littéral régulier

public static String quote(String s)

Correspondant

méthode d'indexation

La méthode index fournit des valeurs d'index utiles indiquant exactement où dans la chaîne d'entrée une correspondance peut être trouvée :

méthode

illustrer

public int start()

Renvoie l'index initial de la correspondance précédente.

public int start (groupe int)

renvoie l'index initial de la sous-séquence capturée par le groupe donné lors de l'opération de correspondance précédente

public int fin()

Renvoie le décalage après le dernier caractère correspondant.

fin publique int (groupe int)

Renvoie le décalage après le dernier caractère de la sous-séquence capturée par le groupe donné lors de l'opération de correspondance précédente.

méthode de recherche

La méthode find vérifie la chaîne d'entrée et renvoie un booléen indiquant si le modèle a été trouvé :

méthode

illustrer

public booléen LookingAt()

Tente de faire correspondre la séquence d'entrée commençant au début de la région avec ce modèle.

recherche booléenne publique()

Tente de trouver la sous-séquence suivante de la séquence d'entrée qui correspond à ce modèle.

recherche booléenne publique (int start)

Réinitialise ce matcher, puis tente de trouver la sous-séquence suivante de la séquence d'entrée en commençant à l'index spécifié qui correspond à ce modèle.

correspondances booléennes publiques()

Tente de faire correspondre la région entière avec le modèle.

Méthode de remplacement

La méthode replace est une méthode qui remplace le texte dans la chaîne d'entrée :

méthode

illustrer

public Matcher appendReplacement (

        StringBuffer sb, remplacement de chaîne)

Implémentez les étapes d’ajout et de remplacement non terminaux.

public StringBuffer appendTail (StringBuffer sb)

Mettre en œuvre les étapes d’ajout et de remplacement du terminal.

public String replaceAll (remplacement de chaîne)

Remplace chaque sous-séquence de la séquence d'entrée dont le modèle correspond à la chaîne de remplacement donnée.

public String replaceFirst (remplacement de chaîne)

Remplace la première sous-séquence de la séquence d'entrée dont le modèle correspond à la chaîne de remplacement donnée.

chaîne statique publique quoteReplacement (String s)

Renvoie la chaîne de remplacement littérale pour la chaîne spécifiée. Cette méthode renvoie une chaîne qui fonctionne comme une chaîne littérale passée à la méthode appendReplacement de la classe Matcher.

Guess you like

Origin blog.csdn.net/feiying0canglang/article/details/128194173