括弧の外側のテキストを正規表現で取得しようとしています。
文字列の例
Josie Smith [3996 COLLEGE AVENUE, SOMETOWN, MD 21003]Mugsy Dog Smith [2560 OAK ST, GLENMEADE, WI 14098]
次の方法で、角括弧内のテキストを正常に取得できます。
addrs = re.findall(r"\[(.*?)\]", example_str)
print addrs
[u'3996 COLLEGE AVENUE, SOMETOWN, MD 21003',u'2560 OAK ST, GLENMEADE, WI 14098']
しかし、角かっこの外に何かを取得するのに問題があります。私は次のようなことを試しました:
names = re.findall(r"(.*?)\[.*\]+", example_str)
しかし、それは最初の名前だけを見つけます:
print names
[u'Josie Smith ']
name [address]
これまでのところ、1 つから 2 つのコンボを含む文字列しか見ていませんが、文字列にはいくつでもコンボが存在する可能性があると思います。