Я працюю над особистим користувальницьким текстовим редактором для mysql, і це моя проблема:
Це те, що я зараз використовую, це будевиділіть будь-яке число, я хочу виключити числа, безпосередньо об'єднані в будь-яку букву [A-Za-z], будь-який інший символ не важливий, оскільки деякі з них є арифметичними символами.
private static final String NUMBER_PATTERN = "[0-9]+";
Відповіді:
2 для відповіді № 1Використовуйте цей регулярний вираз, щоб вибрати лише номери, які не пов'язані з будь-яким текстом
bd+b
d+
дозволяє будь-яку кількість цифрb
на початку і в кінці визначає межу слова, так що вона не відповідає словам, якtext12
,9gag
,4chan
тощо
Демо: https://regex101.com/r/Fzm2PS/2
// Will match 12, 34,
// Will not match text12, string, 9gag
0 для відповіді № 2
Те, що ви хочете, - це конструкція "позитивного огляду" у вашому REGEX.
"[0-9]+(?<=[a-zA-Z])"
Матчі:
the 9 in "a9";
the 10 in "B10";
the 9 in "a9A"
Не збігаються:
the 9 in "9A";
the 10 in "+10"
the 10 in " 10"
-1 для відповіді № 3
Регулярні вирази Java для лише чисел
Рядок regex = ".[a-z]."// (після того, як кожна точка існує *), а потім використовувати variable.matches (regex), він поверне true, якщо він містить a-z і false, якщо він містить лише числа