Могу ли я использовать регулярное выражение, чтобы соответствовать предопределенной строке в Java? - PullRequest
0 голосов
/ 26 апреля 2019

Я довольно новичок в regex и java, я пытаюсь заставить ИИ играть в палача.

У меня есть список из множества слов, когда пользователь угадывает букву, для которой я строю строкупокажи это.Когда пользователь угадывает букву, я хочу уточнить список так, чтобы он содержал слова, содержащие буквы в позициях, которые я угадал правильно.

Итак, допустим, слово «кошка».Я начинаю со строки "...", когда пользователь угадывает 'a', я обновляю строку до '.a.'

Как я могу использовать регулярное выражение для удаления всех строк в массиве, который не следуетэтот шаблон?Могу ли я использовать регулярные выражения для этого?Любая помощь очень ценится и спасибо.

1 Ответ

0 голосов
/ 26 апреля 2019

Чтобы «удалить» все строки из массива, которые не совпадают, вы должны использовать регулярное выражение .a.+ или .+[aA].+, чтобы проверить все слова в массиве на соответствие регулярному выражению и создать новый / заменяющий массив только слова, соответствующие регулярному выражению.

  • .a.+ будет сопоставлять все слова на три буквы или более с a во второй позиции
  • .[aA].+ будет сопоставлять все слова на три буквы или более с a или A во второй позиции.
  • Оба эти регулярных выражения также будут сопоставлять строки без слов с a (или A) во второй позиции - но если вы знаете пул слов, которые будут проверены (слова в вашем массиве), не содержат любые несловесные символы, тогда простое сопоставление с оператором точки «любой символ» гораздо проще реализовать, чем надлежащим образом охватить все случаи несловесных

Вот некоторые достойные учебные ресурсы для регулярных выражений:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...