正则表达式提取不在句子开头和两个相邻单词的大写单词

标签 regex

我想提取不与前后单词一起开始句子的大写单词。

我正在使用:

(\w*)\b([A-Z][a-z]\w*)\b(\w*)

用。。。来代替:
$1 -- $2 -- $3

编辑:它只返回 2 美元。会尝试建议。

关于自然语言?别管这事儿。我只想看看大写字母出现在句子中的哪个位置,这样我就可以弄清楚它们是否合适。

最佳答案

这个怎么样?

([a-zA-Z]+)\s([A-Z][a-z]*)\s([a-zA-Z]+)

但这并没有考虑到任何非字母的东西。它还假设所有单词都由一个空白字符分隔。如果您需要更复杂的支持,则需要对其进行修改。

关于正则表达式提取不在句子开头和两个相邻单词的大写单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4199093/

相关文章:

regex - 用相同数量的 CHR(32)(2nd) 替换 notepad++ 中 EMPTY 单引号内的空格数

ruby-on-rails - 从 html 代码获取 youtube 视频 ID

regex - mongodb正则表达式大写五个字母

regex - 正则表达式“?”的类似物(前面的项目可选)在T-SQL中是什么样的?

java - 为什么这个正则表达式不匹配任何东西?

java - 删除包含 null 的字符串

python - 正则表达式过滤列表中的项目,只包含那些包含非 a-z 字符的项目

objective-c - NS正则表达式 :enumerateMatchesInString hangs when called more than once

python - 如何在 Python 中用 ' ' 替换我的自定义字符?

javascript - 如何编写一个 javascript 函数来检查我的文本框是否包含特殊字符?