Unicode équivalents \w et \b en Java les expressions régulières?

Moderne regex implémentations interpréter les \w caractère de classe abréviation "toute lettre, chiffre, ou de la connexion de la ponctuation" (généralement: le trait de soulignement). De cette façon, une regex comme \w+ correspond à des mots comme hello, élève, GOÄ_432 ou gefräßig.

Malheureusement, Java ne fonctionne pas. En Java, \w est limitée à [A-Za-z0-9_]. Cela rend l'appariement des mots comme ceux mentionnés ci-dessus difficile, parmi d'autres problèmes.

Il apparaît également que le \b séparateur de mots, des matchs dans des endroits où il ne devrait pas.

Quel serait le bon équivalent d'un .NET-comme, Unicode \w ou \b en Java? Qui d'autres raccourcis besoin de "réécriture" pour les rendre compatible avec Unicode?

  • La courte histoire de Tim, c'est qu'ils ont tous besoin de l'écriture pour les mettre en conformité avec la norme Unicode. Je ne vois toujours pas de signes de Java 1.7 va rien faire de plus avec Unicode propriétés de enfin ajout du support pour les scripts, mais c'est tout. Il ya certaines choses que vous ne pouvez vraiment pas faire sans un meilleur accès à la gamme complète de propriétés Unicode. Si vous n'avez pas encore de mon uniprops et unichars les scripts (et nous), ils sont superbes révélateur dans tout cela.
  • On pourrait envisager d'ajouter des marques à la parole de la classe. Car par exemple ä peut être représenté dans Unicode, soit en tant que \u0061\u0308 ou \u00E4.
  • Hey Tim, découvrez ma mise à JOUR. Ils ont ajouté un drapeau à faire tout le travail. Hourra!