2009-07-10 24 views
-1

のURLを一致させるために: 正規表現が、私は両方のこれらのURLにマッチするPythonの正規表現を記述しようとしている特定のサイト

http://www.waymarking.com/waymarks/WM6N3G_Battle_Mountain_State_Park 
http://www.waymarking.com/waymarks/WM6N3G 

との両方のための

がキャプチャされます:

http://www.waymarking.com/waymarks/WM6N3G 

はこれがあります

(http://www.waymarking.com/waymarks/.*?)_?.*? 

しかし、それだけ一致します:どのような私が持っている

http://www.waymarking.com/waymarks/ 

ありがとう!

答えて

4
(http://www.waymarking.com/waymarks/[^_]*).* 
+0

良いです。 [^ _]は素晴らしいです。 –

+0

Damnが遅すぎる:(おそらく、常に1つ以上あるべきであることを考えれば+を使用するべきである) – rezzif

+0

ネゲートされた文字クラスも改行にマッチすることに注意してください。問題。 – Geert

0

非正規表現の仕方

url="http://www.waymarking.com/waymarks/WM6N3G_Battle_Mountain_State_Park" 
s = url.split("_") 
print s[0] 
0

*?何かが完全にオプションになり、それがこの程度

(http://www.waymarking.com/waymarks/[^_]+)(_.*)?)
0

何を持っていない場合は含まれません:それは、インライン

ある場合

(http://www.waymarking.com/waymarks/[a-zA-Z0-9]*)_?.*? 
0

.*(http://www.waymarking.com/waymarks/WM6N3G).* *?非欲張りなので、この場合は1文字以外のすべてをあきらめます。

1

どのように私の答えに比べて約

(http://www.waymarking.com/waymarks/[^_]+) 
関連する問題