2011-07-28 12 views
2

私はluaでregexpsを使用する方法を学ぼうとしていますが、何の結果も得られないので、私は助けを求めています。lua単純なregexpの問題

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

私は二つのことを行う必要があります:

  1. は、ファイル名とサブストリングを取得:FILE.dat
  2. はパスでサブストリングを取得:/a/b/c/d/FILE.dat

私は、URLの2種類を得ました

私はfiからファイル名を取得するregexを書いています最初の場合:

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

同様の正規表現は私に二ケースからファイル名をretrives:

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

は今、あなたは一つにこの2 regexsをマージする方法を、私に言うことができますか?

+4

ルアには正規表現がありません。いくつかのパターンマッチングがありますが、これははるかに制限されています。 – jpjacobs

答えて

2

これら2例は、あなただけのものであれば、ファイル名のためのマッチングが後ろから始まる簡単です:カンマを投げ用

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

は私が

filepath=string.gsub(url,'%w+,', '') 
のようなものに頼るたい部分を分離しました