regex syntax

A

Andreas Volz

Hi,

ich kann nicht gut regex, aber für das nötigste reicht es eigentlich.
Irgendwie komm ich aber mit der Syntax der re.* Befehle in Python nicht
klar Vielleicht kann mir das an diesem Beispiel jemand zeigen:

string = "bild.jpg"

ich möchte jetzt einfach wissen ob in dem string ein ".jpg" vorkommt
oder nicht und dann eine Entscheidung treffen. Ich hab mir schon
überlegt einfach die letzten viel Stellen des strings "per Hand" auf die
Zeichenfolge zu vergleichen und so regex zu umgehen. Aber ich muss es
irgendwann ja doch mal nutzen ;-)

Gruß
Andreas
 
J

James Stroud

Ich kann nicht spricht Deutch, aber:

import re

regex = re.compile(r'(.*)(\.jpg)$')

m = regex.match("bild.jpg")

g = m.groups()

print g[0]
print g[1]


Auf wiedersehen!
James

Hi,

ich kann nicht gut regex, aber für das nötigste reicht es eigentlich.
Irgendwie komm ich aber mit der Syntax der re.* Befehle in Python nicht
klar Vielleicht kann mir das an diesem Beispiel jemand zeigen:

string = "bild.jpg"

ich möchte jetzt einfach wissen ob in dem string ein ".jpg" vorkommt
oder nicht und dann eine Entscheidung treffen. Ich hab mir schon
überlegt einfach die letzten viel Stellen des strings "per Hand" auf die
Zeichenfolge zu vergleichen und so regex zu umgehen. Aber ich muss es
irgendwann ja doch mal nutzen ;-)

Gruß
Andreas

--
James Stroud, Ph.D.
UCLA-DOE Institute for Genomics and Proteomics
611 Charles E. Young Dr. S.
MBI 205, UCLA 951570
Los Angeles CA 90095-1570
http://www.jamesstroud.com/
 
A

and-google

Andreas Volz said:
Ich hab mir schon überlegt einfach die letzten viel Stellen des
strings "per Hand" auf die Zeichenfolge zu vergleichen und so
regex zu umgehen. Aber ich muss es irgendwann ja doch mal nutzen

"Muss"? stimme nicht zu! Regexps sind ja fuer begrenzte Zwecke eine
gute Loesung, aber kein Basisteil der Programmierung. Bei diesem
Beispiel waere:

viel besser als das vergleichbare Regexp:
 
D

Daniel Dittmar

Andreas said:
string = "bild.jpg"

ich möchte jetzt einfach wissen ob in dem string ein ".jpg" vorkommt
oder nicht und dann eine Entscheidung treffen. Ich hab mir schon
überlegt einfach die letzten viel Stellen des strings "per Hand" auf die
Zeichenfolge zu vergleichen und so regex zu umgehen. Aber ich muss es
irgendwann ja doch mal nutzen ;-)

1.) If someone else should read your code:

import os

def hasExt (filename, expectedExtension):
actualExtension = os.path.splitext (filename) [1]
return actualExtension == expectedExtension

if hasExt ("build.jpg", ".jpg"):
...

2.) Debugging regular expression:

Just remove meaningful chunks from the end of the expression until you
have an expected match. Then add them again one by one, most problems
will become quite obvious. And how do I wish there was a debug mode that
would make that somewhat automatic.

Daniel
 
A

Andreas Volz

Am 6 Dec 2004 17:43:21 -0800 schrieb (e-mail address removed):
viel besser als das vergleichbare Regexp:

Ok,now I've choosen this regex:
'.*\.(?i)jpe?g'

to get .jpg .JPG .jpeg .JPEG

seems to work. Is this correct?

regards
Andreas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,140
Latest member
SweetcalmCBDreview
Top