我想製作一個正則表達式,其中包含除特定字符串以外的所有內容。匹配除特定字符串以外的所有內容
例如:在pkg/linux-lts-xenial.html
我想要的一切,除了pkg/
和.html
這將是,linux-lts-xenial
我將使用python這一點。我曾嘗試:
[^pkg | .html | /]
甚至負向前看。不過,我似乎在做錯事。
如果有人能指出什麼,會很樂意。
謝謝
我想製作一個正則表達式,其中包含除特定字符串以外的所有內容。匹配除特定字符串以外的所有內容
例如:在pkg/linux-lts-xenial.html
我想要的一切,除了pkg/
和.html
這將是,linux-lts-xenial
我將使用python這一點。我曾嘗試:
[^pkg | .html | /]
甚至負向前看。不過,我似乎在做錯事。
如果有人能指出什麼,會很樂意。
謝謝
使用積極的lookarounds,而不是負面的。只有在字符串沒有被周圍環繞的情況下,負面週轉纔會匹配,但當他們包圍它們時是,並且只是不包含比賽中的週轉時,您想匹配。
(?<=pkg/).*(?=\.html)
刪除之前 '/' 任何東西,刪除之後什麼 '',把這兩個之間的任何東西(。*)。
In[4]: s="pkg/linux-lts-xenial.html"
In[5]: re.sub(r'.*\/(.*)\..*',r'\1',s)
Out[5]: 'linux-lts-xenial'
你想要求這些部分,但不包括他們在比賽?或者他們是可選的? – Barmar
你試過'r「pkg /(。+)\。html」'嗎? – DyZ
Negative lookahead意味着它只在匹配字符串後面的* not *時匹配。 – Barmar