title: Unicode equivalents for \w and \b in Java regular expressions?
body: <p>Many modern regex implementations interpret the <code>\w</code> character class shorthand as "any letter, digit, or connecting punctuation" (usually: underscore). That way, a regex like <code>\w+</code> matches words like <code>hello</code>, <code>élève</code>, <code>GOÄ_432</code> or <code>gefräßig</code>.</p>
  
  <p>Unfortunately, Java doesn't. In Java, <code>\w</code> is limited to <code>[A-Za-z0-9_]</code>. This makes matching words like those mentioned above difficult, among other problems.</p>
  
  <p>It also appears that the <code>\b</code> word separator matches in places where it shouldn't. </p>
  
  <p>What would be the correct equivalent of a .NET-like, Unicode-aware <code>\w</code> or <code>\b</code> in Java? Which other shortcuts need "rewriting" to make them Unicode-aware?</p>