Ich arbeite an einem persönlichen benutzerdefinierten Texteditor für mysql und das ist mein Problem:
Dies ist, was ich gerade benutze, es wirdMarkieren Sie eine beliebige Zahl, ich möchte Zahlen ausschließen, die direkt mit einem Buchstaben [A-Za-z] verknüpft sind, jedes andere Symbol ist nicht wichtig, da einige von ihnen arithmetische Symbole sind.
private static final String NUMBER_PATTERN = "[0-9]+";
Antworten:
2 für die Antwort № 1Verwenden Sie diese Regex, um nur Zahlen auszuwählen, die nicht mit einem Text verbunden sind
bd+b
d+
erlaubt eine beliebige Anzahl von Ziffernb
am Anfang und am Ende definiert eine Wortgrenze, so dass Wörter wietext12
,9gag
,4chan
etc
Demo: https://regex101.com/r/Fzm2PS/2
// Will match 12, 34,
// Will not match text12, string, 9gag
0 für die Antwort № 2
Was Sie wollen, ist ein "positives Look-Behind" Konstrukt in Ihrem REGEX.
"[0-9]+(?<=[a-zA-Z])"
Streichhölzer:
the 9 in "a9";
the 10 in "B10";
the 9 in "a9A"
Stimmt nicht überein:
the 9 in "9A";
the 10 in "+10"
the 10 in " 10"
-1 für die Antwort № 3
Java Regulärer Ausdruck für nur Zahlen ist
String regex = ".[a-z]."// (Nach jedem Punkt, an dem es * gibt) und dann variable.matches (regex) verwenden, gibt es true zurück, wenn es a-z enthält, und false, wenn es nur Zahlen enthält