【发布时间】:2021-09-04 07:08:11
【问题描述】:
我正在尝试编写一个程序来匹配高级首字母缩写词,例如
eCRM
L&T
T/C
Top/Bo
e-TV
SDLC
RA/VI
Ra&Vi
RaVi
JB007
我试过但没有解决:
public static boolean isAcronyms(String s){
return s.matches("\\b([a-zA-Z]\\.){2,}(?=\\s|$)");
// return s.matches("[A-Z].*[A-Z]");
// return s.matches("\\b(?:\\p{Ll}*\\p{Lu}){2}\\p{Ll}*\\b");
}
我喜欢做的是一个至少有两个大写字母的单词,带或不带任何其他字母(特殊字符、数字)或数字。
【问题讨论】:
-
请澄清一下,您需要正则表达式来测试什么条件?目前听起来任何至少有 2 个大写字母的字符串都应该匹配?
-
可以只有一个特殊字符充当某种分隔符吗?这些首字母缩略词的长度是否也有任何限制?离题;很多这样的例子不是首字母缩写词,而是缩写顺便说一句。