[Tutor] RE module is working ?
Karim
karim.liateni at free.fr
Thu Feb 3 12:45:59 CET 2011
Hello Steven,
I am perhaps a poor tradesman but I have to blame my thunderbird tool :-P .
Because expression = *' "" '* is in fact fact expression = ' "" '.
The bold appear as stars I don't know why. I need to have escapes for
passing it to another language (TCL interpreter).
So I will rewrite it not _in bold_:
$ python
Python 2.7.1rc1 (r271rc1:86455, Nov 16 2010, 21:53:40)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> expression = ' "" '
>>> re.subn(r'([^\\])?"', r'\1\\"', expression)
But if I remove '?' I get the following:
>>> re.subn(r'([^\\])"', r'\1\\"', expression)
(' \\"" ', 1)
* On linux using my good old sed command, it is working with my '?'
(0-1 match):
$ echo ' "" ' | sed 's/\([^\\]\)\?"/\1\\"/g'*
* \"\"
For me linux/unix sed utility is trusty and is the reference.
Regards
Karim
On 02/03/2011 11:43 AM, Steven D'Aprano wrote:
> Karim wrote:
>>
>> Hello,
>>
>> I am trying to subsitute a '""' pattern in '\"\"' namely escape 2
>> consecutives double quotes:
>
> You don't have to escape quotes. Just use the other sort of quote:
>
> >>> print '""'
> ""
>
>
>> * *In Python interpreter:*
>>
>> $ python
>> Python 2.7.1rc1 (r271rc1:86455, Nov 16 2010, 21:53:40)
>> [GCC 4.4.3] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> expression = *' "" '*
>
> No, I'm sorry, that's incorrect -- that gives a syntax error in every
> version of Python I know of, including version 2.7:
>
> >>> expression = *' "" '*
> File "<stdin>", line 1
> expression = *' "" '*
> ^
> SyntaxError: invalid syntax
>
>
> So what are you really running?
>
>
>
>> >>> re.subn(*r'([^\\])?"', r'\1\\"', expression*)
>
> Likewise here. *r'...' is a syntax error, as is expression*)
>
> I don't understand what you are running or why you are getting the
> results you are.
>
>
> > *Indeed what's the matter with RE module!?*
>
> There are asterisks all over your post! Where are they coming from?
>
> What makes you think the problem is with the RE module?
>
> We have a saying in English:
>
> "The poor tradesman blames his tools."
>
> Don't you think it's more likely that the problem is that you are
> using the module wrongly?
>
> I don't understand what you are trying to do, so I can't tell you how
> to do it. Can you give an example of what you want to start with, and
> what you want to end up with? NOT Python code, just literal text, like
> you would type into a letter.
>
> E.g. ABC means literally A followed by B followed by C.
> \" means literally backslash followed by double-quote
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110203/a6573082/attachment.html>
More information about the Tutor
mailing list