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 ].