You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求匹配特定单词格式的正则表达式:首字母可大小写,其余需小写

正则表达式匹配需求:每个单词首字母后无大写字母

尊敬的正则表达式专家:
我正尝试实现一条正则匹配规则,但遗憾的是未能成功。

文字描述规则:

  • 字符串中的每个单词必须保证首字母之后无大写字母。首字母可以大写,也可以不大写。

匹配整个字符串的示例:

  • "Jean Luke Smith"
  • "Jean Smith"
  • "Jean"
  • "jean luke smith"
  • "jean smith"
  • "jean"
  • "Jean luke smith"
  • "jean Luke smith"
  • "jean luke Smith"

不匹配整个字符串的示例(加粗部分为不匹配原因):

  • "JEan lukKe smiTH"
  • "JEAN SMith"
  • "jEAn"
  • "jeAn luke smith"
  • "JeaN smIth"
  • "jEAn"
  • "Jean luke sMith"
  • "jean LuKe smith"

我尝试过的写法:

\b[A-Z]{0,1}[a-z]*
\b[A-Z]{0,1}[a-z]*\b
\b(?![A-Z]+\b)[a-zA-Z0-9_{}]*\b
\b(?![A-Z]+\b)[A-Z]{0,1}[a-z]*

解决方案

要匹配整个符合规则的字符串,需确保每一个单词都满足「首字母可选大写,后续全为小写字母」的要求,同时覆盖单单词和多单词场景。

最终正则表达式

^([A-Z]?[a-z]+)( [A-Z]?[a-z]+)*$

规则拆解

  • ^:锚定字符串起始位置,确保从开头开始匹配
  • [A-Z]?[a-z]+:匹配单个合法单词
    • [A-Z]?:首字母可选大写
    • [a-z]+:后续必须是一个或多个小写字母,既保证首字母后无大写字符,也确保单词不为空
  • ( [A-Z]?[a-z]+)*:匹配零个或多个「空格+合法单词」的组合,支持多单词场景
  • $:锚定字符串结束位置,确保整个字符串都符合规则

验证说明

该正则可完美匹配你列出的所有合规示例,同时会排除首字母后出现大写字母的字符串,完全符合规则描述。

内容的提问来源于stack exchange,提问作者Christian Ringele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 07:50:17