`

resty 正则

 
阅读更多
local m, err = ngx.re.match("hello, 1234", "[0-9]+")
if m then
  ngx.say("match,m[0]:",m[0])
  ngx.say("match,m[1]:",m[1])
else
  if err then
    ngx.log(ngx.ERR, "error: ", err)
    return
  end
  ngx.say("match not found")
end

--返回一个 Lua 迭代器
local it, err = ngx.re.gmatch("hello, world!", "([a-z]+)", "i")
if not it then
  ngx.log(ngx.ERR, "error: ", err)
  return
end

while true do
  local m, err = it()
  if err then
    ngx.log(ngx.ERR, "error: ", err)
    return
  end
  if not m then
    -- no match found (any more)
    break
  end
  -- found a match
  ngx.say("gmatch.m[0]:",m[0])
  ngx.say("gmatch.m[1]:",m[1])
end
 
--find函数并不创建任何新 Lua 字符串或 Lua 表,运行速度大大快于 ngx.re.match。所以如果可能请尽量使用本函数 
local s = "dfsfs111fds"
local from, to, err = ngx.re.find(s, "([0-9]+)", "jo")--j:启用 PCRE JIT 编译,o:仅编译一次模式 (类似 Perl 的 /o 修饰符),启用 worker 进程级正则表达式编译缓存
if from then
  ngx.say("find pos:", from,"-",to)
  ngx.say("matched:", string.sub(s, from, to))
else
  if err then
    ngx.say("error: ", err)
    return
  end
  ngx.say("not matched!")
end

match,m[0]:1234
match,m[1]:nil
gmatch.m[0]:hello
gmatch.m[1]:hello
gmatch.m[0]:world
gmatch.m[1]:world
find pos:6-8
matched:111
分享到:
评论

相关推荐

    开源项目-go-resty-resty.zip

    8. **中间件支持**:Go Resty提供了一个中间件系统,允许开发者自定义请求和响应的处理逻辑,增强了库的可扩展性。 9. **调试模式**:开启调试模式后,Go Resty会打印详细的请求和响应信息,帮助开发者排查问题。 ...

    接口测试工具-resty-jar包

    Resty resty = new Resty(); // 发送GET请求 String response = resty.get("http://example.com/api/resource"); System.out.println(response); // 发送POST请求 Map, String> params = new HashMap(); params....

    resty最新代码resty最新代码

    resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty最新代码resty...

    lua-resty-template

    而lua-resty-template和大多数模板引擎是类似的,大体内容有: 模板位置:从哪里查找模板; 变量输出/转义:变量值输出; 代码片段:执行代码片段,完成如if/else、for等复杂逻辑,调用对象函数/方法; 注释:解释...

    lua-resty-redis

    《深入理解Lua-resty-redis库的安装与应用》 Lua-resty-redis是一个基于OpenResty(一个扩展了Nginx的Web平台)的Lua库,它为开发者提供了与Redis数据库进行交互的能力。在现代Web开发中,Redis作为内存数据存储...

    lua-resty-redis-connector-master

    《lua-resty-redis-connector:Lua在OpenResty中的Redis连接器详解》 在现代Web服务开发中,Lua作为一种轻量级脚本语言,因其高效、简洁的特性被广泛应用于服务器端。OpenResty是基于Nginx的高性能Web平台,它集成...

    lua-resty-mongol-master已编译

    《lua-resty-mongol在OpenResty中的应用与集成》 lua-resty-mongol是基于OpenResty的一个lua库,专为处理MongoDB连接和操作而设计。标题"lua-resty-mongol-master已编译"表明我们已经获取到lua-resty-mongol的最新...

    lua-resty-core, 新的基于 lua Nginx 模块的API.zip

    lua-resty-core, 新的基于 lua Nginx 模块的API 电子邮件名称lua-resty-core - 用于ngx_http_lua_module和/或者ngx_stream_lua_module的基于new的Lua table-内容名称状态概要说明描述先决条件API实现了r

    lua-resty-shell, 用于OpenResty应用服务器的微型子进程/shell 库.zip

    lua-resty-shell, 用于OpenResty应用服务器的微型子进程/shell 库 简介当你需要执行子进程( 或者 shell 命令) 时,这个小型库是用于与OpenResty应用程序一起使用的。 除了 non completely完全不阻塞外,即使是完全不...

    lua-resty-limit-traffic, 在 openresty/ngx_lua中,用于限制和控制流量的Lua库.zip

    lua-resty-limit-traffic, 在 openresty/ngx_lua中,用于限制和控制流量的Lua库 电子邮件名称lua-resty-limit-traffic - 用于限制和控制 openresty/ngx_lua中流量的Lua库目录名称状态概要说明描述安装工具社区服务...

    resty.http资源

    《深入理解resty.http资源与Lua在HTTP网络编程中的应用》 ...它是我们进行Web服务交互的...在实际项目中,结合OpenResty的其他组件,如`lua-resty-mysql`、`lua-resty-redis`等,可以构建出强大的Web服务和中间件系统。

    lua-resty-mongol_openresty连接mongoldb的lua库

    **标题详解:**"lua-resty-mongol_openresty连接mongoldb的lua库" “lua-resty-mongol”是专为OpenResty设计的一个lua库,用于在OpenResty环境中与MongoDB数据库进行交互。这个库的创建是为了在高性能的Web服务中...

    lua-resty-nettle, LuaJIT FFI的绑定( 低级加密库).zip

    lua-resty-nettle, LuaJIT FFI的绑定( 低级加密库) lua-resty-nettle针对荨麻疹( 低级别加密库)的LuaJIT FFI绑定概要local require = requirelocal print = printlocal gsub = string.g

    openresty,lua-resty-redis 封装工具类.zip

    介绍本项目是基于openresty/lua-resty-redis是章亦春(agentzh)开发的openresty中的操作redis的库。进行二次或封装的工具库。核心功能由openresty/lua-resty-redis完成的。下面假设你已经了解了nginx+luaopenresty...

    lua-resty-validation, 用于Lua和OpenResty的验证库( 输入验证和筛选).zip

    lua-resty-validation, 用于Lua和OpenResty的验证库( 输入验证和筛选) lua-resty-validationlua-resty-validation 是用于Lua和OpenResty的可以扩展链接验证和过滤库。带lua-resty-validation的 Hello Worldlocal val

    lua-resty-websocket, 对ngx_lua模块( 和 OpenResty )的web socket支持.zip

    lua-resty-websocket, 对ngx_lua模块( 和 OpenResty )的web socket支持 电子邮件名称lua-resty-websocket - ngx_lua模块的Lua web socket实现 table-内容名称状态描述概要说明模块resty.websocket.server方法新插件...

Global site tag (gtag.js) - Google Analytics