regex - 匹配以大写字母开头的单词直到以大写字母开头的单词
问题描述
我想匹配以大写字母开头的行中的单词并继续直到以另一个大写字母开头的单词开始。
Animals Chicken helmet Animal baby kids Crazy 6 yo monkey Baby white-black horse
匹配:/包含小写字母、数字、特殊字符
Animals
Chicken helmet
Animal baby kids
Crazy 6 yo monkey
Baby white-black horse
我试过这个
(^[A-Za-z]+\s?\w+\W+?\d?)+
解决方案
您可以使用
\b[A-Z]\S*(?:\s+[^A-Z\s]\S*)*
请参阅正则表达式演示。
细节
\b
- 单词边界(如果单词用空格分隔,则替换为(?<!\S)
)[A-Z]\S*
- 一个大写的 ASCII 字母(如果支持 Unicode 支持,则替换\p{Lu}
为),然后是任何零个或多个非空白字符(?:\s+[^A-Z\s]\S*)*
- 零次或多次出现\s+
- 一个或多个空格[^A-Z\s]
- 除空格和大写 ASCII 字母外的任何字符([^\p{Lu}\s]
如果需要并支持 Uniocde 支持,则使用)\S*
- 任何零个或多个非空白字符
推荐阅读
- apache-kafka - Kafka MirrorMaker 2.0 复制每条消息
- formatting - 尝试在地址读取过去的文件结尾
- javascript - 我正在尝试将 Javascript 计算器作为 freecodecamp 任务的一部分,但无法使其与 ID 和数据运算符一起使用
- google-chrome - 我可以让 Cypress 运行 Chrome 的测试版吗?
- sql - 尝试在带有 varchar 的 WHERE 子句中使用 IN 但遇到整理问题
- java - Java 使用 Saxon (s9api) 转换 XML:如何在资源中添加输入文件?
- javascript - 以编程方式比较/使用不同网站的数据
- macos - SHELL/AppleScript:在“取消”时停止 AppleScript 并退出 Shell
- ios - 变换标签字体大小
- c# - 这个 NHibernate 代码如何影响提交?