Skip to main content
 首页 » 编程设计

python之删除中间带有大写字母的单词

2025年05月04日15zhoujg

我有这样的词:'objQuery'、'Barack Obama'、'expandableMap'、'mh17'、'MH17'。我正在清理带有编码语言的文本

我想在正则表达式的帮助下检测像“objQuery”这样连续的单词,即中间没有任何空格和大写字母(更像是一些编码语言标记)。

这样做的正则表达式是什么?

我试过:

re.search(r'\w+[A-Z]+', term) 

这也带走了专有名称。

我也想要结果:

真:'objQuery'、'expandableMap'

Any word that contains Capital Letters in between. Word can start with alphanumeric characters. I can loop through characters and form a boolean function to do so but I am looking for something short.

错误:“巴拉克奥巴马”、“mh17”、“MH17”

请您参考如下方法:

我想你正在寻找这个。

\b[a-z]+(?:[A-Z][a-z]+)+\b 

DEMO

>>> s = "objQuery Barack Obama expandableMapFoo" 
>>> m = re.findall(r'\b[a-z]+(?:[A-Z][a-z]+)+\b', s) 
>>> m 
['objQuery', 'expandableMapFoo'] 

或

\b[a-z0-9A-Z]+(?:[A-Z][a-z]+)+\b 

DEMO