Grok 正则捕获
Grok 正则捕获:
\s+(?<request_time>\d+(?:\.\d+)?)\s+ 回顾下:
(?:pattern)
匹 配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 “或” 字符 (|) 来组合一个模式的各个部分是很有用。例如, ‘industr(?:y|ies) 就是一个比 ‘industry| industries’ 更简略的表达式。 表示括号只是起分隔作用,不将括号中匹配的内容存入内存中
因为如果不加?:的话,括号内匹配的内容会放入$1,$2...这些变量中 1、命名分组格式为(?<grp name>),反向引用时用\k<grp name> 2、命名分组的匹配的结果存在在变量%+变量中,取命名分组值,$+{grp name}. ? 表示前面字符出现1次或者0次; (pattern)
匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 “”或‘’。 (?:pattern)
匹 配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 “或” 字符 (|) 来组合一个模式的各个部分是很有用。例如, ‘industr(?:y|ies) 就是一个比 ‘industry| industries’ 更简略的表达式。 begin 123.456 end [elk@dr-mysql01 frontend]$ cat a1.pl
my $str='begin 123.456 end'; if ($str =~/\s+(?<request_time>\d+(?:\.\d+)?)\s+/){ print "\$1 is $1\n";};
[elk@dr-mysql01 frontend]$ perl a1.pl
$1 is 123.456 1、命名分组格式为(?<grp name>),反向引用时用\k<grp name> 2、命名分组的匹配的结果存在在变量%+变量中,取命名分组值,$+{grp name}. zjtest7-frontend:/root/0825# cat a1.pl
my $str=" begin 123.456 end ";
if ($str =~/(?<request_time>\d+\.\d+)/)
{
my ($request_time) = ($+{request_time});
print $request_time."\n";};
zjtest7-frontend:/root/0825# perl a1.pl
123.456 zjtest7-frontend:/root/0825# cat a1.pl
my $str=" begin 123.456 end ";
if ($str =~/(?<request_time>\w+\s+\d+)/)
{
my ($request_time) = ($+{request_time});
print $request_time."\n";};
zjtest7-frontend:/root/0825# perl a1.pl
begin 123
Grok 正则捕获的更多相关文章
- grok 正则捕获(就是perl的正则捕获)
2.3.2 grok 正则捕获: \s+ 和 [\n\t\r\f]+ 一样 1.命名分组格式为(?<grp name>),反向引用时用\k<grp name> 2.命名分组的匹 ...
- grok 正则解析日志例子<1>
<pre name="code" class="html">下面是日志的样子 55.3.244.1 GET /index.html 15824 0. ...
- expect正则捕获返回结果
expect正则捕获返回结果 expect: expect -re "([0-9]*)([a-zA-Z]*)"send_user "num is $expect_out( ...
- logstash grok正则调试
logstash 正则调试: nginx 配置: log_format main '$remote_addr [$time_local] "$request" '; logstas ...
- logstash 使用grok正则解析日志
http://xiaorui.cc/2015/01/27/logstash%E4%BD%BF%E7%94%A8grok%E6%AD%A3%E5%88%99%E8%A7%A3%E6%9E%90%E6%9 ...
- 正则捕获url的?号传值
http://www.baidu.com/Q?k=0012719021908563998510650 有时候,我们需要在静态页面捕获?号传值,这时就需要用到js的正则表达式. 例如:我们要获取上面这个 ...
- 正则捕获的细节及replace分析
1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: ...
- nginx grok 正则错误的输出情况
nginx 配置: http { include mime.types; default_type application/octet-stream; log_format main '$http_h ...
- Python 正则 —— 捕获与分组
\n:表示第 n 个捕获: >> s = "<html><h1>what the fuck!</h1></html>" ...
随机推荐
- logstash 处理tomcat access报ArgumentError: comparison of String with 5 failed
<pre name="code" class="html"> 10.168.102.19 - - [22/Sep/2016:20:35:11 +08 ...
- 【转】Android Service完全解析,关于服务你所需知道的一切(下) ---- 不错
原文网址:http://blog.csdn.net/guolin_blog/article/details/9797169 转载请注册出处:http://blog.csdn.net/guolin_bl ...
- Java中BigDecimal的8种舍入模式是怎样的
Java中BigDecimal的8种舍入模式是怎样的?下面长沙欧柏泰克软件学院和大家一起来学习下吧: java.math.BigDecimal 不可变的.任意精度的有符号十进制数.BigDecima ...
- Js获取元素样式值(getComputedStyle¤tStyle)兼容性解决方案
因为:style(document.getElementById(id).style.XXX)只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的. 一般js获取内部样式和外部样式使用 ...
- 免费邮件服务器:MailEnable
官方网站地址:www.mailenable.com 下载最新版的 Standard Edition (FREE) 安装之前请留意安装指引就可以了,安装上去之后,直接就可以使用了 安装指引上写的清清楚楚 ...
- Js字面变量,定义问题
Js字面变量.浏览器的版本问题:
- Android-------------获取手机IP地址
##帮助类PhoneNetStateUtil package com.funs.PhoneIPAddress.utils; /** * 手机联网状态工具类 需要的权限 WIFI时:</ ...
- 严重: Exception starting filter struts2 --Unable to load configuration
严重: Exception starting filter struts2 Unable to load configuration. - [unknown location] at com.open ...
- ios开发必备第三方库
引言 作为iOS开发人员,在开发App的过程中怎么会不使用第三方库呢?相信没有App是不使用第三方库的! 网络库 网络库,这是开发必备,除非你的App玩单机.现在特别火也特别好用的网络库就数AFNet ...
- ios学习资料(一)
IT社区: http://www.cnblogs.com/ http://www.csdn.net/ http://www.51cto.com/ http://www.cocoachina.com/ ...