Je suis en train de diviser des lignes d'un document, en créant un Pattern
en Java. L'exemple Pattern
par défaut dans WordCount est semblable à ceci: "\\s*\\b\\s*"
. Le problème avec ce modèle, cependant, c'est qu'il divise tout en un seul mot, alors que je veux garder des choses comme (je suis, vous êtes, c'est) ensemble. Jusqu'à présent, ce que j'ai essayé est [a-zA-Z]+'{0,1}[a-zA-Z]*
,Regex pour attraper tous les mots et le «je suis vous êtes etc» en Java
le problème est que lorsque j'ai une chaîne de test, par exemple:
Pattern BOUNDARY = "[a-zA-Z]+'{0,1}[a-zA-Z]*"
String test = "Hello i'm @£[email protected] @@can !!be.
et exécuter
for(String word : BOUNDARY.split(test){
println(word)}
-je obtenir aucun résultat. Idéalement, je veux obtenir
Hello
i'm
you
can
be
Toutes les idées sont les bienvenues. Dans le regex101.com l'expression rationnelle que j'ai mise en place fonctionne comme un charme, donc je devine que j'ai mal compris quelque chose dans la partie Java.
Il s'agit d'une expression rationnelle * correspondant *, utilisez 'Matcher.find()' pour obtenir toutes les occurrences qui ne se chevauchent pas. –