Regex 匹配以大写字母开头的单词,直到出现以大写字母开头的单词

Regex 匹配以大写字母开头的单词,直到出现以大写字母开头的单词,regex,Regex,我希望匹配以大写字母开头的行中的单词,并一直匹配到以另一个大写字母开头的单词开始 Animals Chicken helmet Animal baby kids Crazy 6 yo monkey Baby white-black horse 匹配:/包含小写字母、数字、特殊字符 动物鸡盔动物宝宝疯狂的6岁左右的猴子小白黑马 我试过这个 (^[A-Za-z]+\s?\w+\W+?\d?)+ 你可以用 \b[A-Z]\S*(?:\S+[^A-Z\S]\S*)* 看 详细信息 \b-单词边界

我希望匹配以大写字母开头的行中的单词,并一直匹配到以另一个大写字母开头的单词开始

Animals Chicken helmet Animal baby kids Crazy 6 yo monkey Baby white-black horse
匹配:/包含小写字母、数字、特殊字符

动物
鸡盔
动物宝宝
疯狂的6岁左右的猴子
小白黑马

我试过这个

(^[A-Za-z]+\s?\w+\W+?\d?)+
你可以用

\b[A-Z]\S*(?:\S+[^A-Z\S]\S*)*

详细信息

  • \b
    -单词边界(如果单词用空格分隔,则替换为
    (?)
  • [A-Z]\S*
    -大写ASCII字母(如果支持Unicode,则替换为
    \p{Lu}
    ),然后是任何零个或多个非空白字符
  • (?:\s+[^A-Z\s]\s*)*
    -零次或多次出现
    • \s+
      -一个或多个空格
    • [^A-Z\s]
      -除空格和大写ASCII字母外的任何字符(如果需要并支持Uniocde,请使用
      [^\p{Lu}\s]
    • \S*
      -任何零个或多个非空白字符

谢谢,它工作得非常好!