【问题标题】:Get all uppercase words using regex [closed]使用正则表达式获取所有大写单词 [关闭]
【发布时间】:2018-05-02 07:34:29
【问题描述】:

所以我想使用正则表达式从字符串中获取所有大写单词,但我想将单词分组,它们之间会有一个空格。我将举一个例子来说明我想要什么。我想得到的单词都是大写的。

“这是一个大写字符串,这是另一个。”

我想知道我是否可以得到这样的话:

第一项:大写字符串

第二项:这是另一个

【问题讨论】:

  • 具体按什么分组?
  • 我举了一个我想要的输出示例,因为我不知道如何更好地解释@Magnus,但我看到其他人理解我的问题并给了我想要的东西

标签: .net regex vb.net


【解决方案1】:

[A-Z\d]{2,}[ ][A-Z\d]{2,}\b - 最少 2 个字母的两个单词用空格分隔
[A-Z\d]{1,}[ ][A-Z\d]{1,}\b - 最少 1 个大写的两个字母单词用空格分隔

【讨论】:

  • 我想我找到了解决方案,“\b([A-Z]){3,}[^/s]([A-Z]){3,}([^/s])?( ([A-Z]){3,})?\b"。这是我的正则表达式,可以得到我想要的
  • 但现在我想强制前 2 个单词
  • 是的,我认为,如果我有“我有 WORD WORD”,我想使用“WORD WORD”,但如果我有“我只有 WORD”,在这种情况下我不想要得到“WORD”。我希望我的解释没问题。
  • @Rubyen "[A-Z\d]{2,}[ ][A-Z\d]{2,}\b" 这是根据你的 WORD WORD 场景
【解决方案2】:

我不是正则表达式专家,但也许这行得通?

\b(?! )[ A-Z]+(?<! )\b

https://regexr.com/3ordm1

【讨论】:

  • 您可以将{1,} 替换为+
  • 太好了,更新了我的答案
猜你喜欢
  • 2012-10-17
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多