Шаблон Regex Java два шаблона одновременно? - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь отсортировать текст, используя шаблон регулярных выражений, и у меня уже есть что-то вроде этого:

Pattern pattern = Pattern.compile("\\w{4,30}\\b");

Если я прав, это должно дать мне строки длиной от 4 до 30 символов, но я не хочу, чтобы в моих строках тоже было какое-то число, не знаете, как сделать два фильтра одновременно, какие-либо предложения?

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете использовать

"\\b(?!\\d+\\b)\\w{4,30}\\b"

См. Демоверсию regex . Основными здесь являются границы слова (\b) и отрицательная конструкция lookahead , которая ограничивает символы, из которых должно состоять сопоставляемое слово.

Детали

  • \b - граница слова
  • (?!\d+\b) - не допускается использование одной или нескольких цифр сразу справа от текущего местоположения до конца слова
  • \w{4,30} - символы от 3 до 30 слов (буквы, цифры или _)
  • \b - граница слова.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...