Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[python] regexpové \t

10 views
Skip to first unread message

Roman Beno

unread,
Mar 2, 2013, 6:16:07 AM3/2/13
to Konference PyCZ
Dobrý deň,

vedeli by ste niekto poradiť ako vyjadrím \t ako súčasť retazca v regulárnom retazci?

dajme tomu že mám retazec: "577\t577 577"
a ja chcem z neho vyjmut to "577\t" a nahradit niečim iným,

lenže mi nefunguje zapasovanie ,

retazec = "577\t577 577"
re.sub("$/d+[\t]", "595tab", retazec)

čiže k žiadnej náhrade neprichádza.
Ďakujem za odpoved

jirka.v...@gmail.com

unread,
Mar 2, 2013, 6:19:56 AM3/2/13
to Konference PyCZ
Hranate zavorky resi jednotlive znaky, takze musis pouzit [\t]+ (coz je funkcni, ale v principu spatne, nebo lepe "escapovat" to zpetne lomitko a hledat "\\t"

Jirka

-----Original Message-----
From: Roman Beno <romanb...@gmail.com>
Sender: "Python" <python-...@py.cz>Date: Sat, 2 Mar 2013 12:16:07
To: Konference PyCZ<pyt...@py.cz>
Reply-To: Konference PyCZ <pyt...@py.cz>
Subject: [python] regexpové \t

_______________________________________________
Python mailing list
Pyt...@py.cz
http://www.py.cz/mailman/listinfo/python

Petr Messner

unread,
Mar 2, 2013, 6:27:24 AM3/2/13
to Konference PyCZ
Jen pro jistotu - \t je tabulator, nebo zpetne lomitko a za ním malé písmeno t?

Petr Messner

2. 3. 2013 v 12:16, Roman Beno <romanb...@gmail.com>:

Roman Beno

unread,
Mar 2, 2013, 6:31:39 AM3/2/13
to Konference PyCZ
\t je tabulátor v povodnom retazci. Ja potrebujem nahradit skupinku znakov za ktorymi je tabulator, inými znakmi.


Dňa 2. marec 2013 12:27, Petr Messner <petr.m...@gmail.com> napísal(-a):

jirka.v...@gmail.com

unread,
Mar 2, 2013, 6:41:33 AM3/2/13
to Konference PyCZ
Aha, mea culpa, nepochopil jsem. Pak by melo stacit odstrateni hranatych zavorek. Jelikoz nemam rad tabulatory a neverim jim, pouzil bych "\t+" misto jen "\t"

Jirka

-----Original Message-----
From: Roman Beno <romanb...@gmail.com>
Sender: "Python" <python-...@py.cz>Date: Sat, 2 Mar 2013 12:31:39
To: Konference PyCZ<pyt...@py.cz>
Reply-To: Konference PyCZ <pyt...@py.cz>

Roman Beno

unread,
Mar 2, 2013, 6:46:22 AM3/2/13
to Konference PyCZ
To je problém, že sa to tam znovu nepasuje.
Skúšal som všetky možné varianty \r ; \\r ; [\r] ; [\\r] ; v raw_stringu aj bez.

Petr Messner

unread,
Mar 2, 2013, 6:51:49 AM3/2/13
to Konference PyCZ
Má to být takhle?

>>> re.sub(r"\d+\t", "595tab", "577\t577 577")
'595tab577 577'

Ten dolar ($) označuje konec řetězce, takže jakýkoliv regulární výraz obsahující dolar jinde než na konci nemá moc velký smysl.

PM


2013/3/2 Roman Beno <romanb...@gmail.com>
Dobrý deň,

vedeli by ste niekto poradiť ako vyjadrím \t ako súčasť retazca v regulárnom retazci?

dajme tomu že mám retazec: "577\t577 577"
a ja chcem z neho vyjmut to "577\t" a nahradit niečim iným,

lenže mi nefunguje zapasovanie ,

retazec = "577\t577 577"
re.sub("$/d+[\t]", "595tab", retazec)

čiže k žiadnej náhrade neprichádza.
Ďakujem za odpoved

Roman Beno

unread,
Mar 2, 2013, 6:56:15 AM3/2/13
to Konference PyCZ
Aha dakujem, neviem ako , ale predsa som si ho pomýlil s ^, tak už viem prečo ten regexp nedával zmysel :-D


Dňa 2. marec 2013 12:51, Petr Messner <petr.m...@gmail.com> napísal(-a):

stork...@gmail.com

unread,
Mar 3, 2013, 5:20:06 PM3/3/13
to Konference PyCZ
> dajme tomu že mám retazec: "577\t577 577"
> a ja chcem z neho vyjmut to "577\t" a nahradit niečim iným,
"577\t577 577".replace("\t", "[tab]")
0 new messages