Quelqu'un peut-il expliquer ce que l'expression rationnelle suivante correspond?
^.*$
Merci!
Quelqu'un peut-il expliquer ce que l'expression rationnelle suivante correspond?
^.*$
Merci!
Soit la chaîne entière ou la ligne entière, selon que l'on utilise multiline mode.
On dirait que cela correspond à tout ...
Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. – Ankur
@Ankur: pas d'accord. Il répond * directement * à la question, mais avec peu d'explications. C'est aussi, à proprement parler, pas tout à fait correct, mais cela ne veut pas dire non plus que ce n'est pas une réponse. – Mac
tout. Donc, cette expression rationnelle correspond à 0 ou plusieurs caractères qui commencent et se terminent une chaîne (qui est tout).
Merci pour l'explication – user73829
+1 pour une bonne explication simple –
Par défaut, la plupart des implémentations de regex ne correspondent pas '\ r' et' \ n' pour le méta-char DOT. Donc, pas "tout". –
Il correspondra à tout.
^
indique le début de la ligne. $
signifie la fin de la ligne. Cela signifie donc que l'expression doit correspondre à la chaîne entière qui lui est transmise.
.
correspondra à n'importe quel caractère. *
signifie que la chose avant elle peut apparaître entre 0 à un certain nombre de fois. Cela signifie que la chaîne peut contenir un nombre quelconque de caractères, y compris 0.
Correspond à toutes les lignes vides et non vides. Il peut être décomposé en les parties suivantes:
^ : match the beginning of the line
. : match any character except newline
* : match zero or many instances of the match
$ : match the ending of the line
^
= Début de la chaîne ou de la ligne (en fonction des paramètres).
.
= Tout caractère.
*
= Tout nombre du caractère précédent. Dans ce cas, le .
.
$
= Fin de la chaîne ou de la ligne (dépend des réglages).
Rassemblez-les et il peut correspondre à une chaîne entière ou à une ligne entière en fonction des paramètres multilignes (voir this pour plus d'informations).
On dirait qu'il correspond à tout, y compris les chaînes vides. Le. * Signifie qu'il correspond à tout (la période) 0 fois ou plus (le *). Le^et le $ sont redondants si vous avez défini l'indicateur multline (pas sûr de ce qu'il est en java).
Il semble que ce soit bien couvert dans http://download-llnw.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html. Quel était le problème avec la documentation officielle? –