2016-04-16 10 views
0

Es tut mir wirklich leid, eine Regex-Frage zu posten. Hier ist sie:Python-Regex, um einen String in Anführungszeichen zu finden

Ich versuche, eine URL übereinstimmen ein Angebot, enthalten in einer Liste enthalten, etwa so:

urls = ["my.url.com/Som'Link"] 

ich es mit einer anderen Liste übereinstimmen, dass nur das letzte Wort enthält von die URL, etwa so:

ich so testen:

p = match_list[0] + "$" #(I need the $ to make sure the word is the last of the URL) 
s = urls[0] 
if re.search(p, s): 
    #Use that link in some way. 

ich bin völlig unfähig, einen Weg zu finden, um es zusammenzubringen. Ich habe versucht:

p = r"" + match_list[0] + "$" 

kein Glück.

p = compile(r"" + match_list[0] + "$") 

kein Glück mehr.

Hinweis: Auch habe ich versucht, diese beiden Linien mit re.escape arround meine match_list [0] ...Funktioniert nicht !!

Ich hoffe, meine Einreichung ist in Ordnung. Nur kommentieren und ich werde es bei Bedarf verbessern.

+2

verwenden keine regex verwenden können. auch: schau dir den Unterschied zwischen 're.match()' und 're.search()' an! – hop

+0

1) Die anderen haben Recht, dass Ihr Problem keine Regex benötigt. (2) Ihr Beispiel Code funktionierte gut für mich: http://pastebin.com/vLqq1nSQ –

+0

Entschuldigung über das Spiel/Such-Ding ... ich dachte irgendwie, Sie hätten verwendet Match – hop

Antwort

1

Sie brauchen nicht einen regulären Ausdruck für diese können Sie einfach Test:

if "Som'Link" in urls[0] 

Dies wird prüfen, ob "Som'Link" in der URL überall auftritt.

Angenommen, Ihre URLs immer mit der Zeichenfolge beenden Sie versuchen, das Ende passen nur Sie endswith

+0

Wenn die URLs dieser Form bleiben, aber ich habe ' in ', wenn Sie nach Übereinstimmungen für Zusätze zur URL suchen möchten. – Pythonista

+0

Speziell 'URLs [0] .endswith (" Som'Link ")' –

+0

Danke! Mein Fehler war auch irgendwo anders btw ... Nützliche Methode sowieso :) –