2012-01-18 2 views
0

Я пытаюсь использовать регулярное выражение, чтобы захватить список слов, разделенных пробелами, но у меня проблемы. Вот регулярное выражение, которое я в настоящее время с помощью:Как использовать регулярное выражение для записи списка слов, разделенных пробелами?

((\w+)(?:))* 

аллигатора кузнец мальчик яблока -> (аллигатор, кузнечный, мальчик)

мыши крысы -> (мыши, крысы)

рыбы ->()

Я использую Python, чтобы обработать это.

ответ

1

Я подозреваю, что вы делаете это сложнее, чем должно быть. Почему бы просто не сделать это:

re.findall(r'\w+', s) 

... или это:

re.split(r'\s+', s) 
0
((\w+)(?: |$))* 

Испытание на возможный конец строки.

или перед тем, как тестировать, добавьте пробел до конца строки.

+0

Хм, это, кажется, не работает для меня. Я получил ('', ''). – egidra

+0

См. Альтернативу, которую я опубликовал в ответе. –

Смежные вопросы