ngx.re.match

语法: captures, err = ngx.re.match(subject, regex, options?, ctx?, res_table?)

环境: init_worker_by_lua*, set_by_lua*, rewrite_by_lua*, access_by_lua*, content_by_lua*, header_filter_by_lua*, body_filter_by_lua*, log_by_lua*, ngx.timer.*, balancer_by_lua*, ssl_certificate_by_lua*, ssl_session_fetch_by_lua*, ssl_session_store_by_lua*

更多详解

官方的DEMO

 local m, err = ngx.re.match("hello, 1234", "[0-9]+")if m then-- m[0] == "1234"elseif err thenngx.log(ngx.ERR, "error: ", err)returnendngx.say("match not found")end

从URL地址中获取域名,脚本:ngx-re-match.lua

    local m, err = ngx.re.match("http://www.tinywan.com/live", "(?<=://)[A-Za-z0-9.]+(?=/)")if m then-- m[0] == "1234"ngx.say(m[0])ngx.say(m[1])elseif err thenngx.log(ngx.ERR, "error: ", err)returnendngx.say("match not found")endngx.say('finished')

虚拟主机:

    server {listen 8334;server_name  127.0.0.1;resolver 8.8.8.8;location /ngx_re_match {lua_code_cache off;content_by_lua_file $path/lua/ngx-re-match.lua;}}

curl 请求结果:

curl http://127.0.0.1:8334/ngx_re_match
www.tinywan.com
nil
finished

如果想获取一级域名:tinywan.com 请使用表达式:

(?<=://w{5}.)[A-Za-z0-9.]+(?=/)

帮助文档:

http://blog.csdn.net/weiyuefei/article/details/38439017

Openresty 学习笔记(二)Nginx Lua 正则表达式相关API相关推荐

  1. JS学习笔记二 DOM,正则表达式简单例子介绍

    一.正则表达式 例子: var patt = /w3school/i; 例子解释: /w3school/i 是一个正则表达式. w3school 是模式(pattern)(在搜索中使用). i 是修饰 ...

  2. 学习笔记——经纬度坐标系及定位相关API

    一.经纬度坐标系 WGS84坐标系:即地球坐标系,国际上通用的坐标系. GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系. BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标 ...

  3. [MyBatis学习笔记] 二、Mybatis基本操作及相关标签介绍

    [MyBatis学习笔记] 二.Mybatis基本操作及相关标签介绍 一.Mybatis简介 二.简单的CRUD操作 1.构建SqlSessionFactory (1)编辑mybatis-config ...

  4. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  5. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  6. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  7. 项目管理学习笔记二:信息系统服务管理

    项目管理学习笔记二:信息系统服务管理 2010-10-22 09:56:33 标签:信息系统 笔记 项目管理 服务 学习 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ...

  8. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  9. motan学习笔记 二 motan架构分析

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  10. Mongodb使用学习笔记(二)

    文章目录 Mongodb使用学习笔记(二)之查询篇 1. MongoDB命令学习 (1) MongoDB 查询文档 1.1 全部查询 1.2 单条件查询 1.3 多条件查询 1.3.1 AND拼接多条 ...

最新文章

  1. 配置apache、php、mysql之间的关系
  2. Linux集群部署和ipvsadm命令的使用
  3. go gin路由分组route group
  4. boost::hana模块将 reference_wrappers 保存到其元素的元组
  5. sqlserver 查询表锁死,解除表锁死
  6. 2021牛客第一场 K.Knowledge Test about Match
  7. 【腾讯Bugly干货分享】Android内存优化总结实践
  8. Nginx担当WebSockets代理
  9. centos7 yun安装mysql,CentOS7 yum方式安装MySQL5.7
  10. 固定频率调用接口方案
  11. 解决:jquery-1.11.1.min.js红叉问题
  12. HP服务器和H3C交换机端口绑定
  13. CrazyWing:Python自动化运维开发实战 七、Python数据类型之数字
  14. 2017计算机驱动用什么好处,驱动精灵和驱动人生哪个好2017
  15. 电容中那些独有的特性和功能,你有了解吗?
  16. AFD-0654: AFD is not supported on Exadata systems CRS-10001: Errors xxx.ko was not found
  17. php面向对象编程的特性,什么是面向对象编程(OOP)?面向对象编程的特点
  18. 一份完整的app产品运营推广方案,app推广运营的方法(二
  19. Scrum: 时间框 (Timeboxing) 是什么?
  20. Python八个自动化办公的技巧

热门文章

  1. Tab,回车/换行组合符
  2. 我的第一篇博客-缓存显示图片
  3. HDU1465_递推_错排
  4. GCC图神经网络预训练概述
  5. 智能优化算法:学生心理学优化算法 -附代码
  6. 空间中任一点到超平面的距离公式的推导过程
  7. IDL | 语句练习
  8. 前端直接读取文本文件内容
  9. 微信解绑手机号服务器会保留吗,我把我的微信号给了别人,银行卡都解绑了,但手机号还在绑定,会不会有危险...
  10. oracle在线重定义表分区,oracle把一张表在线重定义成分区表