2015-09-17 4 views
-2

У меня есть следующая строка, которая содержит повторяющийся образец текста, за которым следуют круглые скобки с идентификационным номером.Regex - Соответствующий повторяющийся шаблон

The New York Yankees (12980261666)\n\nRedsox (1901659429)\nMets (NYC) 
(21135721896)\nKansas City Royals (they are 7-1) (222497247812331)\n\n 
other team (618006)\n 

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

The New York Yankees (12980261666) 

Redsox (1901659429) 

Mets (NYC) (21135721896) 

Kansas City Royals (they are 7-1) (222497247812331) 

other team (618006) 

Символ новой строки может быть заменен позже с string.replace('/n', '').

+0

Ваша строка ввода уже имеет символы новой строки в нужных местах. Похоже, все, что вам нужно сделать, это заменить несколько строк новой строки на одиночные? –

+0

Спасибо, @NedBatchelder. Следующие действия заменяли один или несколько символов новой строки только одним символом новой строки: 're.sub ('\\ n +', '\ n','. Затем я использовал следующее регулярное выражение для создания групп для каждой новой строки: ' '(. *?) \\ n'' – blahblahblah

+0

Глядя на ваш пример в ссылке, приведенной в ответе ниже, непонятно, что ваш вход. Он содержит новый символ строки или '\ n'? – nhahtdh

ответ

0

использовать символ отрицания для достижения этого.

Строка pat = "([^ \\ n])"

+0

Это не похоже, работают корректно. См. [link] (http://pythex.org/?regex= (% 5B% 5E% 5C% 5Cn% 5D) & test_string =% 20New% 20York% 20Yankees% 20 (12980261666)% 5Cn% 5CnRedsox% 20 (1901659429)% 5CnMets% 20 (Нью-Йорк)% 20 (21135721896)% 5CnKansas% 20City% 20Royals% 20 (они% 20are% 207-1) 20% (222497247812331)% 5Cn% 5Cnother% 20team% 20% 20 (618006)% 5Cn & IGNORECASE = 0 & многострочный = 0 & dotall = 0 & многословный = 0) – blahblahblah

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