javascript - 如何在 JavaScript 中通过正则表达式分割字符串?

标签 javascript regex

我有一个非常长的字符串(准确地说是一个日志),它没有被换行符打破。但是,我确实知道每个条目都以时间戳开头

示例字符串:

2019-11-11 hey Boy 2019-11-12 hey Girl 2019-11-13 Super star DJs 2019-11-14 Here we go

我想将其格式化为 JavaScript 中的数组,如下所示:

array(
[0] => '2019-11-11 hey Boy'
[1] => '2019-11-12 hey Girl' 
[2] => '2019-11-13 Super star DJs'
[3] => '2019-11-14 Here we go'
)

我尝试过 string.split(/([0-9]{4})-([0-9]{2})-([0-9]{2})/)但这只是提取第一个日期。

有什么想法如何使用正则表达式来匹配模式以分割长字符串吗?

最佳答案

在每个日期之前的空白处拆分字符串,并将日期放入前瞻中。

string.split(/\s+(?=[0-9]{4}-[0-9]{2}-[0-9]{2})/)

这意味着:一个或多个空格后跟日期

前瞻断言不消耗字符,它只是一个测试。

关于javascript - 如何在 JavaScript 中通过正则表达式分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58803927/

相关文章:

javascript - JQuery 多选项选择与类禁用所选选项,如果没有则再次启用它

javascript - 如何使用 gmaps4rails 在 rails 中旋转标记?

regex - 如何将模式与可选的引号匹配?

javascript - 正则表达式 - 有效地将文本中给定列表中的所有快捷方式大写

css - 正则表达式到 CSS 文件

html - 提取此元标记的 xpath 正则表达式是什么?

javascript - jQuery 一个带有 url 的元素

javascript - CSS 中的 Webpack Uglify 错误

javascript - 当鼠标悬停在 div 列上时如何在 map 上显示位置

java - HTML 结构因输入而异