文字列中の最後のカッコつき文字を削除

Stripping the last occurrence of curly braces from a string – StackOverflow

カッコの中にカッコが入らない形で一致を探すのがミソか.

import re

s = '*AWL* (GREATER) MINDS LIMITED (CLOSED)'
print(re.sub(r'\s*\([^()]*\)$', '', s))

AWL (GREATER) MINDS LIMITED

import re

s = '*AWL* (GREATER) MINDS LIMITED (CLOSED)'
print(re.sub(r'\s*\(\w+?\)$', '', s))

AWL (GREATER) MINDS LIMITED

Greedy Tokenの話は深みにハマるとヤバそうなのでスルーしよう..

カテゴリー: 未分類 パーマリンク