Как я могу разделить строку в массив списка с помощью regrex, различие между совпадением regexr.com и совпадением regrex в JS? - PullRequest
0 голосов
/ 09 марта 2019

У меня есть пример, подобный этому: https://regexr.com/49sdt Как видите, найдено 11 элементов.Теперь я хотел бы разделить их, которые содержат только список элементов начала [Образец .... образец2]

Вы можете проверить мой код здесь: https://repl.it/repls/PriceyNecessaryProfiles Как видите, он имеет 23элементы.

Мой ожидаемый результат такой:

[ 'Sample\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample2\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample3\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample4\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample5\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample6\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample7\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample8\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample9\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample10\n•\tThis is sample 1\n•\tThis is sample 2',
  'Sample11\n•\tThis is sample 1\n•\tThis is sample 2' ]

Как я могу решить это?

1 Ответ

1 голос
/ 09 марта 2019

Вы можете разбить строку на /\n*\d+\.\s*/g, чтобы получить samples для отдельных элементов массива.Используйте slice, чтобы удалить пустые строки в начале и конце массива.

const rawData = `1. Sample
•	This is sample 1
•	This is sample 2

2. Sample2
•	This is sample 1
•	This is sample 2

3. Sample3
•	This is sample 1
•	This is sample 2

4. Sample4
•	This is sample 1
•	This is sample 2


5. Sample5
•	This is sample 1
•	This is sample 2

6. Sample6
•	This is sample 1
•	This is sample 2

7. Sample7
•	This is sample 1
•	This is sample 2

8. Sample8
•	This is sample 1
•	This is sample 2

9. Sample9
•	This is sample 1
•	This is sample 2

10. Sample10
•	This is sample 1
•	This is sample 2

11. Sample11
•	This is sample 1
•	This is sample 2
`
let output = rawData.split(/\n*\d+\.\s*|\n$/g).slice(1, -1)
console.log(output)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...