5

Lua 文字列変数のfour.fiveURL ( ) からドメイン ( ) を抽出する必要があります。one.two.three.four.five

Luaでこれを行う関数が見つからないようです。

編集:

URL が私に届く頃には、そのhttp内容はすでに取り除かれています。したがって、いくつかの例は次のとおりです。

a) safebrowsing.google.com 
b) i2.cdn.turner.com 
c) powerdns.13854.n7.nabble.com 

したがって、私の結果は次のようになります。

a) google.com
b) turner.com
c) nabble.com
4

3 に答える 3

6

これはうまくいくはずです:

local url = "foo.bar.google.com"
local domain = url:match("[%w%.]*%.(%w+%.%w+)")
print(domain)       

出力:google.com

パターンは、最後から[%w%.]*%.(%w+%.%w+)2 番目のドットの後のコンテンツを探します.

于 2013-09-13T01:58:44.257 に答える
4
local url = "http://foo.bar.com/?query"
print(url:match('^%w+://([^/]+)')) -- foo.bar.com

このパターン'^%w+://([^/]+)'は次のことを意味します: ^ 行の先頭から、%w+ 1 つ以上の英数字 (これがプロトコルです)、次に ://、次に [^/]+ 1 つ以上のスラッシュとリターン (キャプチャ) 以外の文字結果としてこれらの文字。

于 2013-09-13T00:15:20.107 に答える
0

ポールの回答を使用して、1.2.3.4.4.5 のようなドメインを抽出します

ローカル url = " http://foo.bar.com/?query " ローカル ドメイン = url:match('^%w+://([^/]+)'))

次に「分割」メソッドを使用して、パーツの配列を作成します

http://lua-users.org/wiki/SplitJoin

お気に入り

local arr = split(domain, '%.') --「パターン」の一部であるため、エスケープされたポイント

次に、最新の 2 つを使用できます: arr[#arr]、arr[#arr-1]

于 2016-04-09T14:08:21.923 に答える