By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,994 Members | 1,166 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,994 IT Pros & Developers. It's quick & easy.

re and escape character

P: n/a
i re-format incoming messages like this,
command = re.findall("^\002(.{2})\|.*\003$", response)[0]
it works well but when response comes with escape characters , my
command variable crashes,
i cannot parse if response variable is like ,
response = '\002AB|TIasdasdasd
asdasdasd
xzczxc
qwewer
werwer|\003'

ps:there must be \002 at the start and \003 at the end.
thanks.
Sep 15 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Am Thu, 15 Sep 2005 14:36:38 +0300 schrieb Sinan Nalkaya:
i re-format incoming messages like this,
command = re.findall("^\002(.{2})\|.*\003$", response)[0]
it works well but when response comes with escape characters , my
command variable crashes,
i cannot parse if response variable is like ,
response = '\002AB|TIasdasdasd
asdasdasd
xzczxc
qwewer
werwer|\003'

ps:there must be \002 at the start and \003 at the end.
thanks.


Hi,

I don't know what you mean with "escape characters".
The dot does not match a newline. You have to use the
re.DOTALL option if you want this.

HTH,
Thomas

--
Thomas GŁttler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
Spam Catcher: ni**************@thomas-guettler.de

Sep 15 '05 #2

P: n/a
Thomas Guettler wrote:
Am Thu, 15 Sep 2005 14:36:38 +0300 schrieb Sinan Nalkaya:
i re-format incoming messages like this,
command = re.findall("^\002(.{2})\|.*\003$", response)[0]
it works well but when response comes with escape characters , my
command variable crashes,
i cannot parse if response variable is like ,
response = '\002AB|TIasdasdasd
asdasdasd
xzczxc
qwewer
werwer|\003'

ps:there must be \002 at the start and \003 at the end.
thanks.


Hi,

I don't know what you mean with "escape characters".
The dot does not match a newline. You have to use the
re.DOTALL option if you want this.

HTH,
Thomas

thats exactly what i want, how can i use DOTALL, by doing re.compile ?
thanks
Sep 16 '05 #3

P: n/a
Sinan Nalkaya wrote:
thats exactly what i want, how can i use DOTALL, by doing re.compile ?


there's always the manual:

http://docs.python.org/lib/node114.html

compile(pattern[, flags])

Compile a regular expression pattern into a regular expression object,
which can be used for matching using its match() and search() methods,
described below.

The expression's behaviour can be modified by specifying a flags value.

/.../

S
DOTALL

Make the "." special character match any character at all, including a
newline; without this flag, "." will match anything except a newline.

/.../

</F>

Sep 16 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.