2015-06-29 3 views
-5

мне нужно поймать весь текст внутри {} скобки в питонаPython поймать текст внутри {}

это пример

{NOKIA}_B {Lumia 640 XL}_M {LTE}_O {8GB}_S 

мне нужно поймать содержать в {} скобки для пример Nokia, а также тег, который является частью _ *. SO, например, в {NOKIA} _B Мне нужно извлечь как Nokia, так и тег B. я безуспешно пытался с этим регулярным выражением, что, к сожалению, не работает на мульти лексем слова

{\w{1,}}_(B|M|S|C|O) 
+0

Что вы имеете в виду * «не работает» *? Знаете ли вы, какие символы '\ w' совпадают? – jonrsharpe

ответ

2

Вы можете использовать комбинацию групп захвата и findall извлечь все необходимые свойства

>>> import re 
>>> s = "{NOKIA}_B {Lumia 640 XL}_M {LTE}_O {8GB}_S" 
>>> matches = re.findall(r"\{([0-9a-zA-Z ]*)\}", s) 
>>> print matches 
['NOKIA', 'Lumia 640 XL', 'LTE', '8GB'] 
+0

Спасибо! Отлично работает! –