"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment faire correspondre efficacement le texte multiligne en Java

Comment faire correspondre efficacement le texte multiligne en Java

Publié le 2025-05-02
Parcourir:876

How Can I Effectively Match Multiline Text Using Regular Expressions in Java?

Utilisation d'expressions régulières pour le texte multiligne correspondant

Lorsque vous essayez de faire correspondre le texte multiligne avec des expressions régulières dans Java, certaines considérations sont en jeu. Le modificateur Pattern.Multiline et le (? M) Faire du raccourci peuvent apparemment présenter des résultats inattendus.

pour comprendre le comportement, il est essentiel de clarifier le but des modificateurs. Pattern.Multiline (? M) permet aux ancres ^ (début de ligne) et $ (fin de ligne) de correspondre au début et à la fin de chaque ligne au lieu de uniquement aux limites de la chaîne. D'un autre côté, Pattern.dotall (? S) permet au caractère de point de faire correspondre les pauses de ligne.

Dans votre exemple, le modèle (? M) échoue lorsqu'il est utilisé avec String.matches car les matchs () nécessitent le regex pour correspondre à la chaîne entière. Puisque votre regex (\ w) (\ s) ne correspond qu'une partie de la chaîne, la comparaison donne false.

pour trouver une chaîne qui commence par "les commentaires de l'utilisateur:", une expression régulière qui convient mieux à la tâche est:

^\\s*User Comments:\\s*(.*)

en utilisant le modificateur Dotall et en tirant parti de la méthode de correspondance correcte (find () ou correspond ()), vous pouvez efficacement correspondre au texte multiliné

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3