斜线后面的字符和连字符前的结尾

时间:2013-09-12 02:26:52

标签: python regex

我一直在使用正则表达式来进行一些正则表达式的可视化,但是生成的东西没有运气,它会匹配一个url的部分,这个url是一个可变长度的文本,前面是正斜杠,后面是连字符。什么表达会这样做?

www.lamp.com/;alskfjdlkfja;sdlkfjasldfj-209

但不是

www.lamp.com/a;slkfja;sdlkfjas;dflkj

因为它不包含连字符

2 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

/[^-]+-

其中:

  • /是文字/
  • [^-]+是一个或多个非连字符
  • -是文字-

使用您的示例:

>>> import re
>>> url1 = 'www.lamp.com/;alskfjdlkfja;sdlkfjasldfj-209'
>>> url2 = 'www.lamp.com/a;slkfja;sdlkfjas;dflkj'
>>> 
>>> re.search(r'/[^-]+-', url1) is not None
True
>>> re.search(r'/[^-]+-', url2) is not None
False

答案 1 :(得分:0)

你可能首先想要从urlparse http://docs.python.org/2/library/urlparse.html开始, 到达网址的部分,但只有它确实匹配。