Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2015 15:14:04

qwerty_1
Зарегистрирован: 2015-03-14
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

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

Офлайн

#2 Март 14, 2015 15:23:22

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

>>> import re
>>> re.split('\W+', 'gd,fhgd shg.74-dh')
['gd', 'fhgd', 'shg', '74', 'dh']



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Март 14, 2015 16:41:35

qwerty_1
Зарегистрирован: 2015-03-14
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

terabayt, спасибо. А вы не могли бы пояснить каждое из них? Только начинаю использовать регулярные выражения, а с такими сложными никогда не сталкивалась

Офлайн

#4 Март 14, 2015 17:12:42

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

re
Регулярные выражения



————————————————
-*- Simple is better than complex -*-

Офлайн

#5 Авг. 23, 2016 17:18:36

dobriy_dada
Зарегистрирован: 2015-09-04
Сообщения: 48
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

Здравствуйте, подскажите пожалуйста, что означают вопросы в регулярном выражении:

 data = 'Mountain View, CA 94040'
re.split(', |(?= (?:\d{5}|[A-Z]{2}))' data)
Зачем они здесь - вот эти ‘?=’ и ‘?:’

Офлайн

#6 Авг. 23, 2016 17:27:09

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

смотреть ссылку в предыдущем посте

terabayt
Регулярные выражения



————————————————
-*- Simple is better than complex -*-

Офлайн

#7 Авг. 23, 2016 20:20:18

dobriy_dada
Зарегистрирован: 2015-09-04
Сообщения: 48
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

спасибо я посмотрел, но всё равно не понял объясните пожалуйста

Офлайн

#8 Авг. 24, 2016 06:46:23

dobriy_dada
Зарегистрирован: 2015-09-04
Сообщения: 48
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

Просто я переписал этот код по-доугому и он работает, поэтому и не понимаю для чего нужно ставить ?:

 re.split(', | (?=\d{5}|[A-Z]{2})', data)

Отредактировано dobriy_dada (Авг. 24, 2016 06:50:25)

Офлайн

#9 Авг. 24, 2016 08:26:44

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

Там же на русском языке описана конструкция о которой вы спрашиваете
Что вам обьяснить - в слух прочитать?

(?=шаблон) Позитивный просмотр вперёд Людовик(?=XVI) ЛюдовикXV, ЛюдовикXVI, ЛюдовикXVIII, ЛюдовикLXVII, ЛюдовикXXL



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#10 Авг. 24, 2016 08:42:18

dobriy_dada
Зарегистрирован: 2015-09-04
Сообщения: 48
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделить с помощью split по всем спецсимволам.

Это я понял да, я переписал код , чтобы осталось только ?= я не понимаю зачем изначально было ?:

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version