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