开发者

Extracting words between delimiters [] in python

开发者 https://www.devze.com 2022-12-31 14:47 出处:网络
From the below string, I want to extract the words between delimters [ ] like \'Service Current\',\'Service\',\'9991\',\'1.22\':

From the below string, I want to extract the words between delimters [ ] like 'Service Current','Service','9991','1.22':

str='mysrv events Generating Event Name [Service Current], Category [Service] Test [9991] Value [1.22]'

How can I extract the开发者_开发知识库 same in python?

Thanks in advance Kris


First, avoid using str as a variable name. str already has a meaning in Python and by defining it to be something else you will confuse people.

Having said that you can use the following regular expression:

>>> import re
>>> print re.findall(r'\[([^]]*)\]', s)
['Service Current', 'Service', '9991', '1.22']

This works as follows:

\[   match a literal [
(    start a capturing group
[^]] match anything except a closing ]
*    zero or more of the previous
)    close the capturing group
\]   match a literal ]

An alternative regular expression is:

r'\[(.*?)\]'

This works by using a non-greedy match instead of matching anything except ].


you can use regex

import re
s = re.findall('\[(.*?)\]', str)


re.findall(r'\[([^\]]*)\]', str)
0

精彩评论

暂无评论...
验证码 换一张
取 消