Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java正则表达式查找以大写字母开头并包含小写字母的单词_Java_Regex - Fatal编程技术网

使用Java正则表达式查找以大写字母开头并包含小写字母的单词

使用Java正则表达式查找以大写字母开头并包含小写字母的单词,java,regex,Java,Regex,因此,我使用Java正则表达式来查找首字母缩略词。我得到的大多数首字母缩略词都是大写的,这很好,我有一个regex,我需要的是一个regex,用于单词,其中有一个小写字母,其余的是大写字母,如CCaRS。我可以用什么正则表达式?下面是我正在使用的所有大写正则表达式的示例 String twoPlusUCRegEx = "[A-Z][A-Z]+"; 缩略词示例:CCaRS、MiDAE以下正则表达式应该有效: [A-Z]+[a-z][A-Z]* 说明: [A-Z]+ # one or mo

因此,我使用Java正则表达式来查找首字母缩略词。我得到的大多数首字母缩略词都是大写的,这很好,我有一个regex,我需要的是一个regex,用于单词,其中有一个小写字母,其余的是大写字母,如CCaRS。我可以用什么正则表达式?下面是我正在使用的所有大写正则表达式的示例

 String twoPlusUCRegEx = "[A-Z][A-Z]+";

缩略词示例:CCaRS、MiDAE

以下正则表达式应该有效:

[A-Z]+[a-z][A-Z]*
说明:

[A-Z]+   # one or more uppercase characters
[a-z]    # exactly one lowercase character
[A-Z]*   # zero or more uppercase characters
请注意,文本的正文意味着字符串不需要以大写字符开头,但标题说明它需要。请澄清是否要求以大写字母开头。

如何:

([A-Z]+[a-z][A-Z]*)|([A-Z]*[a-z][A-Z]+)
如果至少需要1个大写字母

如果没有:

[A-Z]*[a-z][A-Z]*
这应该有效(以大写字母开头的任何字母组合,包括2个或更多大写字母):


试一试

实际上,在这种情况下,你并不需要锚。好的一点是,我不经常使用Java,所以我忘记了
String.matches()
@Rohit-anchor真的很重要吗?@smit。。因为锚点是用来匹配末端的模式的,所以在这种情况下,它们并不是真正需要的,因为正则表达式本身就是用来匹配整个字符串的。另外,如果我们使用
String.matches
,那么锚点是多余的。另外,只是确认一下,使用它们不会影响结果。@Rohit你说的“最后”是什么意思?这是我真的不知道的事情。
String twoPlusUCRegEx = "([A-Z][a-z]*){2,}";
String regex = "\\b([A-Z])(\\S*?)\\b";