2013-10-14 199 views
0

我想用下面的正則表達式來獲得UNIX絕對路徑UNIX絕對路徑:正則表達式在Python

"?[a-zA-Z0-9\/].*\.[a-zA-Z0-9].*"? 

的問題是,這個正則表達式配襯:

"/home/user/web/other.longextension" 
/path/to/file.php 

和匹配這個(不需要的)鏈接: http://google.com https://web.com ftp://other.com

的d不匹配(想): '/path/to/any/file.txt' /本/路/太

感謝

+0

你沒有提到底層的問題,但你不能只檢查文件或目錄的存在?這並不是說所有可能的路徑名都適用於不存在的文件,但這可能不是必需的。 – Evert

+0

是否有你使用正則表達式而不是'os.path'或'posixpath'的原因? – kalhartt

+0

我解析搜索絕對路徑的文本文件的內容。文件或目錄的存在並不重要。 –

回答

1

也許這樣的事情?

^['"]?(?:/[^/]+)*['"]?$ 

我把你自己提到的問題放在你的問題中。

[^/]+是一個否定類,匹配除正斜槓和+量詞之外的所有字符,它必須至少出現一次。

regex101 demo與你在你的問題中的樣本。

+0

謝謝! Regex101是一個很好的資源。 –