Регулярное выражение для извлечения данных в скобках и запятых - PullRequest
3 голосов
/ 17 апреля 2010

Итак, у меня есть это:

"(ABC, 2004)"

И мне нужно извлечь ABC в одну переменную, а 2004 - в другую. Итак, что у меня есть сейчас это:

In: re.compile (r '([^)] *,'). Findall ("( ABC, 2004) ")

Out: ['(ABC,']

Ответы [ 2 ]

5 голосов
/ 17 апреля 2010

Если ваши входные данные всегда такие (начинаются с "(", заканчиваются на ")"), вы можете иметь следующие значения:

input_text.strip(" ()").split(",")

>>> "( ABC,2004 )".strip(" ()").split(",")
['ABC', '2004']

Это будет использовать любые скобки по краям внутри внешних скобок.

Кроме того, если запятые могут быть окружены пробелами или заменены ими, вы можете:

[item.strip() for item in input_text.strip(" ()").split(",")]
2 голосов
/ 17 апреля 2010

Попробуйте просто найти слова "слова":

>> re.compile(r'\w+').findall("( ABC,2004 )")
['ABC', '2004']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...