Aujourd'hui, je souhaite utiliser des expressions régulières en Java pour obtenir n'importe quel caractère dans un texte. J'ai donc écrit avec désinvolture les règles de correspondance suivantes :
(.*)
Après l'avoir exécuté, j'ai constaté que le texte après le saut de ligne ne pouvait pas être obtenu. J'ai donc vérifié le manuel et découvert que dans l'expression régulière, "." (symbole point) correspond à tous les caractères sauf le caractère de nouvelle ligne "n". En même temps, il y a une autre phrase dans le manuel : Pour faire correspondre n'importe quel caractère incluant « n », utilisez un modèle comme « [.n] ». J'ai donc modifié les règles de correspondance de l'expression régulière comme suit :
([.n]* Bien sûr, si elle est écrite directement dans le programme java, elle doit être modifiée en ([.\n]*). )
En conséquence, j'ai réexécuté le programme et j'ai constaté que rien ne pouvait être récupéré. Je n'arrivais pas à comprendre, alors je l'ai remplacé par les règles suivantes :
([.|n]*) et ([n.]*)
Le résultat ne fonctionnait toujours pas, et j'ai pu Je n'obtiens aucun contenu. Il semble que le symbole de point et le caractère de nouvelle ligne fonctionnent dur ~
Ensuite, j'ai vérifié en ligne, même si je n'ai pas trouvé ce qui n'allait pas avec les règles ci-dessus, j'ai trouvé une solution après un essai, cela peut en effet correspondre. nouvelle ligne. Tous les caractères, y compris les caractères, sont les règles de correspondance correctes des expressions régulières :
([sS]*)
En même temps, vous pouvez également utiliser "([dD]*)", "([ wW]*) » pour exprimer.
Dans les fichiers texte, cette expression peut correspondre à tout l'anglais
/[ -~]/
Cette expression peut correspondre à tout ce qui n'est pas anglais (comme le chinois)
/[^ -~]/
/ est utilisé dans VI Vous n'avez pas besoin de / dans editplus ou dans le programme Suivez le site Web PHP chinois !