Java Regex stimmt nicht außerhalb des ASCII -Bereichs überein, verhält sich anders als Python Regex

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Java Regex stimmt nicht außerhalb des ASCII -Bereichs überein, verhält sich anders als Python Regex

by Anonymous » 24 Jul 2025, 20:07

Ich möchte Strings aus Dokumenten genauso filtern wie der CountVectorizer von Sklearn. Es verwendet die folgende Regex: (? U) \ B \ W \ W+\ B < /code>.
Dieser Java -Code sollte genauso verhalten: < /p>

Code: Select all

Pattern regex = Pattern.compile("(?u)\\b\\w\\w+\\b");
Matcher matcher = regex.matcher("this is the document.!? äöa m²");

while(matcher.find()) {
String match = matcher.group();
System.out.println(match);
}
< /code>
, aber dies erzeugt nicht die gewünschte Ausgabe, wie in Python: < /p>
this
is
the
document
äöa
m²
< /code>
Es gibt stattdessen aus: < /p>
this
is
the
document
Was kann ich tun, um Nicht-ASCII-Zeichen einzubeziehen, wie der Python Regeex tut?

Top