L'exemple de cet article décrit le didacticiel d'expression régulière sur la correspondance d'un seul caractère. Partagez-le avec tout le monde pour votre référence, comme suit :
Remarque : dans tous les exemples, les résultats de correspondance des expressions régulières sont inclus entre [et] dans le texte source. Certains exemples seront implémentés en utilisant Java. Les expressions régulières en Java lui-même seront expliquées aux endroits correspondants. Tous les exemples Java sont testés sous JDK1.6.0_13.
Code de test Java :
/** * 根据正则表达式和要匹配的源文本,输出匹配结果 * @param regex 正则表达式 * @param sourceText 要匹配的源文本 */ public static void matchAndPrint(String regex, String sourceText){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sourceText); while(matcher.find()){ System.out.println(matcher.group()); } }
1. Texte brut correspondant
1 Il n'y a qu'un seul résultat correspondant
Tout d'abord, regardons un. expression régulière simple La formule, aujourd'hui, bien qu'elle soit elle-même du texte brut, est une expression régulière. Regardons un exemple :
Texte source : Hier c'est de l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.
Expression régulière : aujourd'hui
Résultat : Hier c'est histoire, demain est un mystère, mais 【aujourd'hui】 est un cadeau.
Analyse : L'expression régulière utilisée ici est du texte brut, qui correspond à aujourd'hui dans le texte source.
Appelez la méthode matchAndPrint et le résultat de sortie est :
aujourd'hui
2 Il existe plusieurs résultats correspondants
Texte source : Hier, c'est l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.
Expression régulière : est
Résultat : Hier c'est l'histoire, demain est un mystère, mais 【aujourd'hui】 est un cadeau.
Analyse : dans le texte source, il y a trois est, mais quatre sont affichés, car les est dans l'historique seront également mis en correspondance.
appelle la méthode matchAndPrint et le résultat de sortie est :
est
est
est
est
3. Problèmes de casse des lettres
Les expressions régulières sont sensibles à la casse, mais de nombreuses implémentations d'expressions régulières prennent également en charge les opérations de correspondance insensibles à la casse. En JavaScript, utilisez l'indicateur i pour effectuer une correspondance insensible à la casse. En Java, si vous souhaitez ne pas respecter la casse, lors de la compilation de l'expression régulière, vous pouvez spécifier :
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
2. Faire correspondre n'importe quel caractère
Les expressions régulières vues précédemment sont toutes Elles sont du texte brut statique et ne reflètent pas du tout la puissance des expressions régulières. Voyons ensuite comment utiliser des expressions régulières pour faire correspondre des caractères imprévisibles.
Dans les expressions régulières, des caractères spéciaux (ou des collections de caractères) sont utilisés pour indiquer ce qu'il faut rechercher. Le caractère . (point de statut anglais) peut correspondre à n’importe quel caractère. Équivalent au caractère ? dans DOS et au caractère _ (trait de soulignement) dans SQL. Par exemple : l'expression régulière c.t correspondra à cat, cut, cot, etc. Regardons un exemple.
Texte :
orders1.txt
orders2.txt
sales1.txt
salesA.txt
order3.txt
sales2.txt
sales.txt
Expression régulière : ventes.
Résultat :
orders1.txt
orders2.txt
[sales1].txt
[salesA].txt
orders3.txt
[sales2].
【sales.】txt
Analyse : L'expression régulière sales trouvera le nom du fichier composé de la chaîne sales et d'une autre chaîne. Cela peut être vu dans les résultats. les nombres et lui-même. 4 fichiers sur 7 correspondent à ce modèle.
Si la méthode matchAndPrint est appelée, le résultat de sortie est :
sales1
salesA
sales2
sales.
3. Faites correspondre les caractères spéciaux
Les caractères ont des significations particulières dans les expressions régulières. Si vous avez besoin d'un . dans le modèle, vous devez trouver un moyen d'indiquer à l'expression régulière que vous avez besoin du caractère . lui-même plutôt que de sa signification particulière dans l'expression régulière. Pour ce faire, vous devez échapper le caractère . C'est aussi un métacaractère (métacaractère, indiquant que ce caractère a une signification particulière, et non la signification du caractère lui-même). Considérez l'exemple suivant.
Trouvez des fichiers commençant par na ou sa, quel que soit le numéro qui le suit.
Texte :
sales.txt
na1.txt
na2.txt
sa1.txt
sanatxt.txt
Expression régulière : .a..txt
Résultat :
[sal]es.txt
[na1].txt
[na2].txt
[sa1].txt
[sanatxt].txt
Analyse : Cette expression régulière combine na1.txt et na2.txt , sa1.txt a été trouvé, mais 2 résultats inattendus ont également été trouvés. Parce que le caractère . dans l'expression régulière .a..txt correspondra à n'importe quel caractère. Pour faire correspondre le caractère . lui-même, vous devez utiliser l'échappement. Modifier l'expression régulière en .a..txt peut répondre à nos besoins.
Remarque : si vous utilisez Java, l'expression régulière .a..txt doit être écrite sous la forme .a.\.txt, car c'est également un caractère d'échappement dans le langage Java.
4. Résumé
Les expressions régulières sont souvent appelées modèles. Ce sont en fait des chaînes composées de certains caractères. Ces caractères peuvent être des caractères ordinaires (texte brut) ou des métacaractères (caractères spéciaux ayant une signification particulière). Voici une introduction à la façon d'utiliser des caractères ordinaires et des métacaractères pour faire correspondre les caractères unitaires. .peut correspondre à n’importe quel caractère. Utilisé pour échapper aux caractères. Dans les expressions régulières, les séquences de caractères ayant une signification particulière commencent toujours par un caractère. Dans le prochain article, nous verrons comment faire correspondre des groupes de personnages.
Pour plus de tutoriels sur les expressions régulières sur la correspondance d'un seul caractère et des articles connexes, veuillez faire attention au site Web PHP chinois !