Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2008 14:55:47

kornieff
От:
Зарегистрирован: 2008-01-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить regex и unicode?

Помогите заставить это рег-выражение работать с русским текстом.

 
word = "Ветер++,;"
non_word_regex = re.compile('\W+')
word = non_word_regex.sub('', word)
print word



Офлайн

#2 Янв. 7, 2008 15:50:01

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить regex и unicode?

# -*- coding: Windows-1251 -*-
import re
word = u"Ветер++,;"
non_word_regex = re.compile(r'\W+', re.U)
word = non_word_regex.sub('', word)
print word



Отредактировано (Янв. 7, 2008 15:51:03)

Офлайн

#3 Янв. 7, 2008 17:02:13

kornieff
От:
Зарегистрирован: 2008-01-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить regex и unicode?

Огромное спасибо. Еше один вопрос: “Что означает r В r'\W+' и естх ли подробное описание строкоформирующих символов?”



Офлайн

#4 Янв. 7, 2008 17:28:50

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить regex и unicode?

http://docs.python.org/ref/strings.html
String literals may optionally be prefixed with a letter “r” or “R”; such strings are called raw strings and use different rules for interpreting backslash escape sequences.



When an “r” or “R” prefix is present, a character following a backslash is included in the string without change, and all backslashes are left in the string. For example, the string literal r“\n” consists of two characters: a backslash and a lowercase “n”. String quotes can be escaped with a backslash, but the backslash remains in the string; for example, r“\”" is a valid string literal consisting of two characters:a backslash and a double quote;
>>> print "\naaa\n"
aaa
>>> print r"\naaa\n"
\naaa\n
>>>



Офлайн

#5 Янв. 8, 2008 03:17:04

Psixo
От:
Зарегистрирован: 2007-09-12
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить regex и unicode?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version