Je me demande s'il existe un symbole pour n'importe quel nombre (y compris zéro) de n'importe quel caractère
142
.*
.
est n'importe quel caractère, *
signifie répété zéro ou plusieurs fois.
.*
ne correspond pas au caractère de nouvelle ligne ('\n'
). Voir cette question pour plus d'informations sur ce sujet.Vous pouvez utiliser cette expression régulière (n'importe quel espace ou tout autre espace) autant de fois que possible jusqu'à 0 inclus.
Cette expression correspondra aussi peu que possible, mais autant que nécessaire pour le reste de l'expression.
Par exemple, dans cette expression régulière
[\s\S]*?B
correspondraaB
àaBaaaaB
. Mais dans ce regex[\s\S]*B
correspondentaBaaaaB
àaBaaaaB
.la source
.
ne correspondra parfois pas\n
(nouvelle ligne), selon l'option multiligne, mais[\s\S]
correspondra à n'importe quel caractère.Tu veux dire
.
tout caractère, sauf le caractère de nouvelle ligne, avec le mode dotall, il inclut également les caractères de nouvelle ligne*
toute quantité de l'expression précédente, y compris 0 foisla source
J'utiliserais
.*
..
correspond à n'importe quel caractère,*
signifie 0 ou plusieurs occurrences. Vous pourriez avoir besoin d'un commutateur DOTALL vers l'expression régulière pour capturer de nouvelles lignes avec.
.la source
Oui, il y en a un, c'est l'astérisque:
*
Cela devrait être couvert dans tout didacticiel ou documentation Java regex que vous recherchez.
la source