java - 用于匹配具有两个大写字母的两个单词的正则表达式

标签 java regex regex-lookarounds regex-group regex-greedy

我正在创建一个名片解析器,但遇到了正则表达式的问题。我正在从文件中读取一行 - 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可能就是您正在寻找的。

输入

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

如果没有,您可以使用相同的工具并设计一个正则表达式,您只需添加 {2}最后重复两次。

要删除某些单词,您可能不需要另一个匹配,您可能只需在相同 RegEx 的开头添加您想要的列表即可:

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

输出

enter image description here

关于java - 用于匹配具有两个大写字母的两个单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55656099/

相关文章:

php - 如何使用正则表达式解析命令行字符串以获取每个参数?

python - 用于提取部分电子邮件地址的正则表达式

java - 如何防止idea自动解析maven依赖

java - 使用 CXF 而不是 Axis for Restfull SOAP 调用会将客户端与 wsdl 中的更改分离吗?

java - 理解 Java 正则表达式

java - Jsoup getElementsByAttributeValueMatching

java - 通过反射调用子类的方法

Python正则表达式查找特殊字符和中间的字符

java - 正则表达式匹配两个 {} 之间的所有内容

Javascript Reg Exp 匹配一个带有单词 "phone number"但前面没有单词 "my"的句子