\s+(?<request_time>\d+(?:\.\d+)?)\s+ 解释

原创 2016年08月30日 22:38:18
<pre name="code" class="html"><pre name="code" class="html">看elk 看到一个正则;
\s+(?<request_time>\d+(?:\.\d+)?)\s+

回顾下:
(?:pattern)
 匹 配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 “或” 字符 (|) 来组合一个模式的各个部分是很有用。例如, ‘industr(?:y|ies) 就是一个比 ‘industry|industries’ 更简略的表达式。

表示括号只是起分隔作用,不将括号中匹配的内容存入内存中
因为如果不加?:的话,括号内匹配的内容会放入$1,$2...这些变量中

1、命名分组格式为(?<grp name>),反向引用时用\k<grp name>

2、命名分组的匹配的结果存在在变量%+变量中,取命名分组值,$+{grp name}.


[tomcat@wx02 test]$ cat a2.pl 
my $str="456.123a";
if ($str=~/\d+(\.\d+)/){print "\$1 is $1\n"};
[tomcat@wx02 test]$ perl a2.pl 
$1 is .123


[tomcat@wx02 test]$ cat a2.pl 
my $str="456.123a";
if ($str=~/\d+(\.\d+)?/){print "\$1 is $1\n"};
[tomcat@wx02 test]$ perl a2.pl 
$1 is .123

\d+(\.\d+)? 中的?有什么用呢?


x?  匹配 0 次或一次 x 字符串 


[tomcat@wx02 test]$ cat a2.pl 
my $str="456";
if ($str=~/\d+(\.\d+)?/){print "\$1 is $1\n"};
[tomcat@wx02 test]$ perl a2.pl 
$1 is 
[tomca

这里的(\.\d+)? 就是0次或者1次
zjtest7-frontend:/root/test# cat a1.pl 
my $str="456.123a";
if ($str=~/\d+(?:\.\d+)?/){print "\$1 is $1\n"};
zjtest7-frontend:/root/test# perl a1.pl 
$1 is




                    

相关文章推荐

perl 正则捕获 /(?<request_time>\d+(?:\.\d+)?)\s+/

2.3.2 grok 正则捕获: \s+ 和 [\n\t\r\f]+ 一样 1、命名分组格式为(?),反向引用时用\k 2、命名分组的匹配的结果存在在变量%+变量中,取命名分组值,$+{g...

Linux进程状态解析之R、S、D、T、Z、X

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。 Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在...

mos管之D和S互换问题

mos管之D和S互换问题 转自:http://xilinx.eetop.cn/viewthread-120288 正在看数字集成电路,既然漏极源极材料相同,能不能互...
  • xlhcgd
  • xlhcgd
  • 2015年12月30日 10:20
  • 1496

Linux进程状态解析 之 R、S、D、T、Z、X (主要有三个状态)

转载出处:http://blog.csdn.net/shenwansangz/article/details/51981459 Linux是一个多用户,多任务的系统,可以同时运行多个用户...
  • sdkdlwk
  • sdkdlwk
  • 2017年03月25日 17:20
  • 1315

D-S证据理论学习笔记(一)

一.D-S证据理论引入 诞生   D-S证据理论的诞生:起源于20世纪60年代的哈佛大学数学家A.P. Dempster利用上、下限概率解决多值映射问题,1967年起连续发表一系列论文,标志着证据...

PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法

2009-11-25 10:52:47原因:                                                                              ...

Python字符串操作符(%s,%d,%u...)与输出格式控制(*-+#0...)

#字符串操作符与格式控制 ''' ---------------------------- %c ASC2或者长度为1的字符串 %s __str__() %r __repr__() %d ...
  • cd_xuyue
  • cd_xuyue
  • 2015年06月21日 17:48
  • 14003

Linux进程状态解析之R、S、D、T、Z

本文系转载,作者:倪老师,华清远见嵌入式学院讲师。   R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。同一时刻可能有多个进程处于可执行状态,这些进程的t...
  • shen924
  • shen924
  • 2013年04月13日 18:50
  • 2428

String s = a+b+c+d+e;创建了几个对象的详细分析?

问题1: String s = "a" + "b" + "c" + "d" + "e";  问此语句共创建了几个对象,  答案是  就创建了一个  String s = "a" + "b"...

苹果开发那些事儿-D-U-N-S 号申请

这些天追剧去了,《大好时光》,我喜欢茅小春,其实我真正喜欢的是王晓晨哈。     言归正传,现在说说邓白氏编码申请的相关事儿。     去年初,搞了本《企业级iOS应用开发实战》,开头第一篇就讲了申请...
  • done58
  • done58
  • 2016年01月14日 14:44
  • 3164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:\s+(?<request_time>\d+(?:\.\d+)?)\s+ 解释
举报原因:
原因补充:

(最多只允许输入30个字)