2

lua で正規表現を使用する方法を学習しようとしていますが、結果が表示されないため、助けを求めています。

2 種類の URL を取得しました。

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

私は2つのことをする必要があります:

  1. ファイル名の部分文字列を取得:FILE.dat
  2. パスで部分文字列を取得:/a/b/c/d/FILE.dat

最初のケースからファイル名を取得する正規表現を作成しました。

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

同様の正規表現は、2 番目のケースからファイル名を取得します。

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

この 2 つの正規表現を 1 つにマージする方法を教えてください。

4

1 に答える 1

2

これらの 2 つのケースだけである場合、ファイル名のマッチングは後ろから簡単に始められます。

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

コンマ区切りの部分を捨てるには、次のような方法に頼ります

filepath=string.gsub(url,'%w+,', '')
于 2011-07-28T13:47:19.520 に答える