javascript - 如何编写此正则表达式以获取多行数据并转换为 JSON 数组

标签 javascript arrays json regex excel

我有一些数据需要转换为数组,但我无法让正则表达式正常工作。我只需要一个一维数组,不需要数字,只需要值 - 但是带有换行符的项目把它搞砸了。

正则表达式:([0-9]\-\ )(.*)([\s]*)
测试:https://regex101.com/r/F9UIG8/1

数据:

1- TEST DATA.
   1- TEST DATA THAT GOES ONTO
      TWO LINES.
   2- MORE TESTS.
      1- ADDITIONAL MULTILINE 
         DATA WITH 
         SEVERAL LINES
   3- MORE TEST 3
   4- MORE TEST 4
      1- MORE SUB ITEMS
      2- SUB ITEM 2
      3- SUB ITEM MULTILINE
         SECOND LINE
      4- MORE
2- EVEN MORE TWO LINE
   SECOND LINE
   1- DATA
   2- DATA
   3- DATA
   4- DATA TWO LINE
      2ND LINE.
3- LAST BIT OF 2 LINE DATA
   WITH SECOND LINE

最佳答案

split() 试试这个正则表达式方法:

let text =  `1- TEST DATA.
   1- TEST DATA THAT GOES ONTO
      TWO LINES.
   2- MORE TESTS.
      1- ADDITIONAL MULTILINE
         DATA WITH
         SEVERAL LINES
   3- MORE TEST 3
   4- MORE TEST 4
      1- MORE SUB ITEMS
      2- SUB ITEM 2
      3- SUB ITEM MULTILINE
         SECOND LINE
      4- MORE
2- EVEN MORE TWO LINE
   SECOND LINE
   1- DATA
   2- DATA
   3- DATA
   4- DATA TWO LINE
      2ND LINE.
3- LAST BIT OF 2 LINE DATA`;

text.split(/\s*\d\-/igm);

它将返回一个包含文本(包括换行符)的数组,删除数字和连字符。

关于javascript - 如何编写此正则表达式以获取多行数据并转换为 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46897978/

相关文章:

javascript - 语法 var names = string.split ("\n"), make\r behind element of string field

javascript - 如何使用 Jquery 数据表插件隐藏表中的列?

java - 使用 for 循环生成 TextView 不起作用?

json - Gson转换为JSON时再次转义转义序列-Android

javascript - 我正在尝试使用 JSON 文件构建一个表。这有什么问题吗?

java - JsonGenerator写入对象和字符串字段

javascript - 当数据无法结构化为不同格式时,从事件处理程序返回对象

arrays - 如果选中相同的复选框,如何循环两个数组并进行比较 Angular 2

c++ - 指向基类数组的指针,用派生类填充

javascript - NodeJS - 相对文件路径