Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式提取特定模式的段落_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式提取特定模式的段落

Javascript 正则表达式提取特定模式的段落,javascript,regex,Javascript,Regex,我有一个日志,模式如下: 2018-06-08 11:32:06 INFO 1 Global.asax - Service Starting 2018-06-08 11:33:06 INFO 1 Blah Blah Blah Blah Blah Blah Blah xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx 2018-06-08 11:34:06 INFO 1 yyyyyyyyyyyyyyyyyy 我想用正则表达式

我有一个日志,模式如下:

2018-06-08 11:32:06 INFO 1 Global.asax - Service Starting
2018-06-08 11:33:06 INFO 1 Blah Blah Blah Blah
    Blah Blah Blah
    xxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxx
2018-06-08 11:34:06 INFO 1 yyyyyyyyyyyyyyyyyy
我想用正则表达式提取以下结果:

2018-06-08 11:32:06 INFO 1 Global.asax - Service Starting

这是迄今为止我尝试过的最接近的结果

(\d{4})[\D](\d{2})[\D](\d{2})[\s](\d{2})(\D)(\d{2})(\D)(\d{2}).*+

哦,我很接近,答案是这样的

(\d{4})\d\d\s(\d{2})(\d)(\d{2})[\s\s]+?(?=(\d{4})\d\d\s(\d{2})(\d)(\d{2})|\Z)

感谢Toto的更新

\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[\s\S]+?(?=\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}|\Z)

请包括你的JavaScript代码。为什么所有这些捕获组和无用的字符类<代码>\d{4}-\d{2}-\d{2}\d{2}:\d{2}:\d{2}[\s\s]+(?=\d{4}-\d{2}-\d{2}\d{2}:\d{2}:\d{2}\Z)足够了。@Toto-
[\s\s]
?我知道这个答案中的表达是这样的,但这和任何字符都不匹配吗?@nnnn:是的。它匹配所有字符,包括换行符。@Toto在javascript上尝试过,但缺少最后一行,似乎\z在javascript上不起作用。还有别的选择吗?非常感谢。
(\d{4})[\D](\d{2})[\D](\d{2})[\s](\d{2})(\D)(\d{2})(\D)(\d{2}).*+
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[\s\S]+?(?=\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}|\Z)