Openresty 学习笔记(二)Nginx Lua 正则表达式相关API
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相关推荐
- JS学习笔记二 DOM,正则表达式简单例子介绍
一.正则表达式 例子: var patt = /w3school/i; 例子解释: /w3school/i 是一个正则表达式. w3school 是模式(pattern)(在搜索中使用). i 是修饰 ...
- 学习笔记——经纬度坐标系及定位相关API
一.经纬度坐标系 WGS84坐标系:即地球坐标系,国际上通用的坐标系. GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系. BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标 ...
- [MyBatis学习笔记] 二、Mybatis基本操作及相关标签介绍
[MyBatis学习笔记] 二.Mybatis基本操作及相关标签介绍 一.Mybatis简介 二.简单的CRUD操作 1.构建SqlSessionFactory (1)编辑mybatis-config ...
- [转载]dorado学习笔记(二)
原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...
- nginx 学习笔记(2) nginx新手入门
这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- 项目管理学习笔记二:信息系统服务管理
项目管理学习笔记二:信息系统服务管理 2010-10-22 09:56:33 标签:信息系统 笔记 项目管理 服务 学习 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ...
- 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...
- motan学习笔记 二 motan架构分析
motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...
- Mongodb使用学习笔记(二)
文章目录 Mongodb使用学习笔记(二)之查询篇 1. MongoDB命令学习 (1) MongoDB 查询文档 1.1 全部查询 1.2 单条件查询 1.3 多条件查询 1.3.1 AND拼接多条 ...
最新文章
- 配置apache、php、mysql之间的关系
- Linux集群部署和ipvsadm命令的使用
- go gin路由分组route group
- boost::hana模块将 reference_wrappers 保存到其元素的元组
- sqlserver 查询表锁死,解除表锁死
- 2021牛客第一场 K.Knowledge Test about Match
- 【腾讯Bugly干货分享】Android内存优化总结实践
- Nginx担当WebSockets代理
- centos7 yun安装mysql,CentOS7 yum方式安装MySQL5.7
- 固定频率调用接口方案
- 解决:jquery-1.11.1.min.js红叉问题
- HP服务器和H3C交换机端口绑定
- CrazyWing:Python自动化运维开发实战 七、Python数据类型之数字
- 2017计算机驱动用什么好处,驱动精灵和驱动人生哪个好2017
- 电容中那些独有的特性和功能,你有了解吗?
- AFD-0654: AFD is not supported on Exadata systems CRS-10001: Errors xxx.ko was not found
- php面向对象编程的特性,什么是面向对象编程(OOP)?面向对象编程的特点
- 一份完整的app产品运营推广方案,app推广运营的方法(二
- Scrum: 时间框 (Timeboxing) 是什么?
- Python八个自动化办公的技巧