Heim >Java >javaLernprogramm >Wie kann ich Unicode-fähige reguläre Ausdrücke in Java erstellen?
Unicode-Äquivalente für w und b in regulären Java-Ausdrücken
Die Regex-Implementierung von Java verwendet nicht die Abkürzungen der w-Zeichenklasse für „jeden Buchstaben“. , Ziffer oder verbindende Satzzeichen“ wie andere Implementierungen auch. Dies erschwert die Zuordnung von Unicode-Wörtern. Das Problem erstreckt sich auf das Worttrennzeichen „b“, das in Java ebenfalls inkonsistentes Verhalten zeigt.
Unicode-fähige Äquivalente
Um diese Probleme zu beheben, kann man ein Regex-Muster neu schreiben unter Verwendung der folgenden Ersetzungen:
Andere Unicode-Eigenschaften
Zusätzlich zu w und b fehlt den regulären Ausdrücken von Java die Unicode-fähige Unterstützung für andere Eigenschaften. Diese Eigenschaften können jedoch durch die Verwendung der p-Syntax erweitert werden, wie unten gezeigt:
Java Syntax | Unicode Property |
---|---|
p{Lower} | Unicode Lowercase |
p{Upper} | Unicode Uppercase |
p{ASCII} | ASCII |
p{Alpha} | Unicode Alphabetic |
p{Digit} | Unicode Digit |
p{Alnum} | Unicode Alphanumeric |
p{Punct} | Unicode Punctuation |
p{Graph} | Unicode Graph |
p{Print} | Unicode Printable |
p{Blank} | Unicode Blank |
p{Cntrl} | Unicode Control |
p{XDigit} | Unicode Hexadecimal Digit |
p{Space} | Unicode Space |
Unicode-fähiger Regex
Durch die Einbindung dieser Unicode-fähigen Ersatzstoffe man kann Regex-Muster erstellen, die Unicode-Daten genau verarbeiten. Das folgende Muster stimmt beispielsweise mit Unicode-Wörtern überein:
Pattern pattern = Pattern.compile("\w+"); // Unicode-aware \w equivalent
Dieses Muster kann verwendet werden, um Wörter in Textzeichenfolgen abzugleichen, unabhängig davon, ob die Zeichen ASCII- oder Unicode-codiert sind.
Das obige ist der detaillierte Inhalt vonWie kann ich Unicode-fähige reguläre Ausdrücke in Java erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!