gpt4 book ai didi

java - 句子中的每个单词大写字母

转载 作者:行者123 更新时间:2023-12-02 09:13:40 26 4
gpt4 key购买 nike

我正在尝试为我的任务编写一个正则表达式。句子中的每个单词都以大写字母开头,其余为小写字母。

(^[A-Z]{1}[a-z\s]+)+

例如

Java 测试 - 好的

Java 测试 - 不好

Java 测试 - 不行

java 测试 - 不行

最佳答案

您尝试的模式也将匹配 Java test,因为字符类 [a-z\s]+ 重复列出的任何内容(包括空格)1+ 次,并且不重复强制第二个单词以大写字符开头。

您可以在每次迭代中重复匹配大写字符后跟 1 个以上小写字符的部分。

请注意,\s 也会匹配换行符,您可以省略 {1}

^[A-Z][a-z]+(?: [A-Z][a-z]+)*$
  • ^ 字符串开头
  • [A-Z][a-z]+ 匹配 1 个大写 A-Z 和 1+ 个小写 a-z
  • (?: 非捕获组
    • [A-Z][a-z]+ 匹配空格、1 个大写 A-Z 和 1 个以上小写字符 a-z
  • )* 关闭非捕获组并重复 1+ 次
  • $ 字符串结尾

Regex demo

除了匹配单个空格之外,您还可以使用 \h 匹配 1+ 个水平空白字符(在 java 中 \\h)

Regex demo

关于java - 句子中的每个单词大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59181606/

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