匹配除特定字符串外的所有内容

时间:2017-03-27 18:55:29

标签: python regex

我想制作一个正则表达式,其中包含除特定字符串之外的所有内容。

例如:在pkg/linux-lts-xenial.html

我想要除pkg/.html

之外的所有内容

将是linux-lts-xenial

我将使用python。我试过了:

[^pkg | .html | /]

甚至负面展望未来。不过,我似乎做错了什么。

如果有人可以指出,那会爱。

谢谢

2 个答案:

答案 0 :(得分:0)

使用积极的外观,而不是消极的。负面外观仅在字符串未被外观包围时才匹配,但是当它们 包围它们时你想要匹配,并且不包括匹配中的外观。

(?<=pkg/).*(?=\.html)

答案 1 :(得分:0)

删除'/'之前的任何内容并删除'。'之后的任何内容,在这两者之间保留任何内容(。*)。

In[4]: s="pkg/linux-lts-xenial.html"
In[5]: re.sub(r'.*\/(.*)\..*',r'\1',s)
Out[5]: 'linux-lts-xenial'