我试图将auth代码从服务器响应中拉出来,如:
GET /?state=authenticated&code=U946s9lHouBGWy8o45bXSRSXGzTqd0Ys HTTP/1.1
我正在使用lua / Corona;
string.match(request, "GET /?state=authenticated&code=([%w--_/.=?]+)")
我收到零回复,不知道我错了什么......有谁知道或有更好的主意?
WKR,
-Sean
答案 0 :(得分:2)
角色?
本身就是一个模式修饰符。这就是你获得nil
结果的原因。使用%
来逃避这一点。
str = "GET /?state=authenticated&code=U946s9lHouBGWy8o45bXSRSXGzTqd0Ys HTTP/1.1"
print( str:match("GET /%?state=(%w+)&code=(%w+)") )
以下是工作输出:https://eval.in/33065
以下是another example,但没有转义?
字符。这只是为了阐述我的观点。 :)
答案 1 :(得分:1)
尝试使用它:
string.match(request, "GET /%?state=authenticated&code=([^ ]+)")