我有这样的词:'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
>>> 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
