如何在模式匹配上拆分字符串

use*_*175 -1 regex string perl

我有以下字符串,

9.2 20268 pat 6.0 24977 pat 4.0 21222 pat 3.9 20854 pat
Run Code Online (Sandbox Code Playgroud)

我需要拆分此字符串并将结果字符串保存在数组中.

结果字符串将如下所示:

9.2 20268 pat
6.0 24977 pat
4.0 21222 pat
3.9 20854 pat
Run Code Online (Sandbox Code Playgroud)

请有人帮我这个吗?

anu*_*ava 6

您可以使用此正则表达式进行拆分:

(?<=pat)\s+
Run Code Online (Sandbox Code Playgroud)
  • (?<=pat) 是lookbehind正则表达式,确保1个或多个空格前面有文字字符串 pat

例:

perl -wpe 's/(?<=pat)\s+/\n/g' <<< "9.2 20268 pat 6.0 24977 pat 4.0 21222 pat 3.9 20854 pat"
9.2 20268 pat
6.0 24977 pat
4.0 21222 pat
3.9 20854 pat
Run Code Online (Sandbox Code Playgroud)