RegExp用于多行 - 匹配和捕获唯一输出

时间:2017-08-26 07:42:38

标签: regex

* A:Dut-C#show stats gx

output of above command

* A:Dut-C#show stats gy

output of above command

* A:Dut-C#show stats s11

output of above command

* A:Dut-C#show stats s12

output of above command

* A:Dut-C#show stats s5

output of above command

* A:Dut-C#show stats s1u

output of above command

* A:Dut-C#

如果我想在一个巨大的文件中搜索上述字符串,然后捕获每个接口(gx,gy,s11,s12,s5,s1u等)的统计数据输出,那么正则表达式是什么?

我尝试使用正则表达式,但仍然没有完成:

*/([*A-Za-z]:Dut-[a-zA-Z]{1}#\sshow stats\s(gx|gy|s11|s12|s5|s1u)|[\r])/g*

无法弄清楚如何做到这一点。

2 个答案:

答案 0 :(得分:1)

此解决方案有效:

A:Dut-C#\sshow\sstats\s(\w+)[$\s\n]+([=\n:a-zA-Z0-9! \-\.]+\* indicates that the corresponding row element may have been truncated.)
标志:全球

演示:https://regex101.com/r/gl5aHA/5

答案 1 :(得分:0)

您的模式似乎有效。您需要查看第1组以查找捕获的字符串。

这是另一种解决方案:

public function __construct() { if(!Auth::check()) abort(403, 'Unauthorized'); $this->user = Auth::user(); app('translator')->setLocale($this->user->language_code); // 'en', 'ro', etc }

  • 标志:全局,不区分大小写
  • 步骤:164

Demo