2011-07-28 49 views
2

我想學習如何在lua中使用正則表達式,但是我看不到任何結果,所以我尋求幫助。lua簡單的正則表達式問題

我有兩種類型的網址:

1) /a/b/c/d/some,text,commas,and,so,on,FILE.dat 
2) /a/b/c/d/FILE.dat 

我需要做兩件事情:

  1. GET子文件名爲:FILE.dat
  2. GET子與路徑:/a/b/c/d/FILE.dat

我寫了一個正則表達式,它從fi中檢索到一個文件名第一種情況:

string.match(url, ".*,(.*)") 

類似的正則表達式retrives我從第二種情況下的文件名:

string.match(url, ".*/(.*)") 

現在你能告訴我,如何合併這兩regexs成一個?

+4

Lua沒有正則表達式,它有一些模式匹配,這是非常有限的。 – jpjacobs

回答

2

如果這兩種情況是你的唯一,對於文件名匹配是從後面易起動:

filename=string.match(url,'([%w_]+%.%w%w%w)$') 

折騰出來的逗號分隔的部分我會採用類似

filepath=string.gsub(url,'%w+,', '')