用正则表达式检测句子末尾的单词

时间:2018-02-07 14:23:22

标签: regex linux nginx lua

我从正则表达式开始。我的字符串可能看起来像nxs_flo.nexus127.0.0.1nxs_flo.nexus.com

我想只过滤nxs_flo.nexus类型的字符串。所以我想测试我的字符串中是否有.nexus并且它位于我的字符串的末尾。

以下是我对.进行过滤的操作,但我不知道如何对过滤器.nexus进行过滤,并且结果是:{/ p>

if ngx.var.host:match("(.-)%.") == nil then

或者这用于检测.nexus,但它不起作用:

if ngx.var.host:match("(.*).nexus") == nil then 

1 个答案:

答案 0 :(得分:2)

您可以使用

local host = [[nxs_flo.nexus]]
if host:match("%.nexus$") == nil then
    print("No '.nexus' at the end of the string!")  
else
    print("There is '.nexus' at the end of the string!")    
end
-- => There is '.nexus' at the end of the string!

请参阅online Lua demo

模式匹配:

  • %. - 文字.字符
  • nexus - nexus substring
  • $ - 字符串结束。