我正在创建一个名片解析器,但遇到了正则表达式的问题。我正在从文件中读取一行 - String s。
我需要能够抓取包含两个单词且仅两个大写字母且不包含某些单词的行。下面是我过去使用过的有效正则表达式,但我想使用 .matches 和 !.matches 来制作这个 if else 语句
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();
}
最佳答案
我不确定是否 this RegEx可能就是您正在寻找的。p>
输入
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
输出
如果没有,您可以使用相同的工具并设计一个正则表达式,您只需添加 {2}
最后重复两次。
要删除某些单词,您可能不需要另一个匹配,您可能只需在相同 RegEx 的开头添加您想要的列表即可:
^(?!Technologies|Engineer|Anything|Else|You|Wish)([A-Z][a-z]+\s){2}
输出
关于java - 用于匹配具有两个大写字母的两个单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55656099/