gpt4 book ai didi

java - 仅匹配单词中第一个字母的大写字母的正确正则表达式是什么

转载 作者:行者123 更新时间:2023-12-02 19:50:35 25 4
gpt4 key购买 nike

现在我的程序使用此模式 .*[A-Z].* 来匹配每个包含大写字母的单词。但我的问题是,我需要一种模式,可以识别仅在单词开头为大写的单词。

现在我的程序的示例输入:-

我叫 Johan,来自兰卡威。

输出匹配:我的约翰·朗卡维。

但是使用我的模式,像 langKawi 这样的单词,其中大写字母不在它仍然匹配的单词的开头。

任何人都可以帮助我找到一种模式,该模式与仅第一个字母大写的单词相匹配,并且我的文本/输入仅包含字母字符,没有数字和符号。谢谢。

最佳答案

使用单词边界在单词开始之前进行匹配,然后是该单词,然后是另一个单词边界:

\b[A-Z]\w*\b

在 Java 中,看起来像这样:

Pattern p = Pattern.compile("\\b([A-Z]\\w*)\\b");

String s = "My name is Johan and I am from langKawi.";
Matcher matcher = p.matcher(s);

while(matcher.find()){
System.out.println(matcher.group(1));
}

输出:

My
Johan
I

关于java - 仅匹配单词中第一个字母的大写字母的正确正则表达式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com