RegEx для сопоставления двух слов с двумя заглавными буквами - PullRequest
1 голос
/ 12 апреля 2019

Я создаю парсер визиток и сталкиваюсь с проблемами с регулярным выражением.У меня есть строка, которую я читаю из моего файла - String s.

Мне нужно иметь возможность взять строку, которая содержит два слова и только две заглавные буквы, а также не содержит определенных слов.Ниже приведено регулярное выражение, которое я использовал в прошлом, которое работает, но я хочу сделать это, если еще заявление с .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();
 }

1 Ответ

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

Я не уверен, если этот RegEx может быть тем, что вы можете искать.

Input

Technologies Word Word word
Engineer Word Word word
Systems Word word word
Developer Word word word
Company Word word word
INC Word Word Word
Analyst Word word word
Computers Word word word
Technology Word word word

выход

enter image description here

Если нет, вы можете использовать тот же инструмент и создать RegEx, вам нужно всего лишь добавить {2} в конце для повторения дважды.

Для удаления определенных слов вам может не потребоваться другое соответствие, вы можете просто добавить список, который вы хотите в начале того же самого RegEx :

^(?!Technologies|Engineer|Anything|Else|You|Wish)([A-Z][a-z]+\s){2}

выход

enter image description here

...