Я создаю парсер визитных карточек и сталкиваюсь с проблемами с регулярным выражением. У меня есть строка, которую я читаю из своего файла — String s.
Мне нужно иметь возможность захватить строку, содержащую два слова и только две заглавные буквы, а также не содержащую определенные слова. Ниже приведено регулярное выражение, которое я использовал в прошлом, которое работает, но я хочу сделать это выражение if else с .matches и !.matches
else if ((!s.matches(".*\\b(Technologies|Engineer|Systems|Developer|Company|INC|Analyst|Computers|Technology|@)\\b.*") && (s.matches("^(?!(.*[A-Z]){3,})[a-zA-Z]+ [a-zA-Z]+$"))))
{
getName();
}
and only two capital letters
... ноINC
содержит три заглавные буквы, тем не менее оно есть в вашем белом списке. Можешь объяснить свою логику? - person Tim Biegeleisen   schedule 12.04.2019