python - Removing words with CAPITAL letters in between -


मेरे पास ऐसे शब्द हैं: 'ओजजैनीटी', 'बराक ओबामा', 'फैलाने योग्यमैप', 'एमएच 17', 'एमएच 17' मैं पाठ को साफ कर रहा हूं जो कि कोटिंग भाषाओं के साथ हल्के से मसालेदार है

मैं 'ओजजैक्टीयर' जैसे शब्द खोजना चाहता हूं जो निरंतर अर्थात् बिना किसी सफेद स्थान और कैपिटल अक्षरों के (जैसे कुछ कोडिंग भाषा टोकनों की तरह) के बिना।

मैंने कोशिश की:

  re.search (r '\ w + [ AZ] + ', शब्द)  

जो उचित नाम भी ले रहा है

मुझे भी परिणाम होना चाहिए:

सच: 'objQuery', 'फैलाने योग्यमैप'

किसी भी शब्द के बीच में कैपिटल अक्षरों वाले । शब्द अल्फ़ान्यूमेरिक वर्णों के साथ शुरू कर सकते हैं मैं पात्रों के माध्यम से लूप कर सकता हूँ और ऐसा करने के लिए एक बूलियन फ़ंक्शन बना सकता हूं, लेकिन मैं कुछ कम की तलाश कर रहा हूं। '' बराक ओबामा ',' एमएच 17 ',' MH17 '

मुझे लगता है कि आप इसके लिए खोज रहे हैं।

  \ b [Az] + (?: [Az] [az] +) + \ b  

  & gt; & gt; & gt; S = "objQuery बराक ओबामा expandableMapFoo" & gt; & gt; & gt; M = re.findall (r '\ b [a-z] + (?: [A-Z] [a-z] +) + \ b', s)> gt; & gt; & gt; M ['objQuery', 'expandableMapFoo']  

OR

  \ b [a-z0- 9A-Z] + (?: [एज़] [Az] +) + \ b  


Comments