Я хочу разбить строку в JavaScript, используя RegEX.
Это пример строки:
REQUEST : LOREMLOREM : LOREM2LOREM2
Можно ли разделить ее на:
[REQUEST , LOREMLOREM : LOREM2LOREM2]
Я пытался использовать /:?/g, но это не работает.
/:?/g
Просто удалите Глобальный модификатор 'g' в конце и '?' Квантор.Без них выражение будет возвращать только первое совпадение.
Ваш новый RegEx будет /: /
. Для проверки ваших регулярных выражений перейдите на https://regex101.com/r/11VFJ8/2
Вместо использования регулярного выражения можно разделить двоеточие, а затем использовать комбинацию shift для удаления и возврата первого элемента из массива и join для объединения оставшихсяэлементы, использующие двоеточие:
let str = "REQUEST : LOREMLOREM : LOREM2LOREM2"; $parts = str.split(':'); [a, b] = [$parts.shift().trim(), $parts.join(':').trim()]; console.log(a); console.log(b);
Вы можете просто сделать:
var parts = str.match(/([^:]*)\s*:\s*(.*)/).slice(1)
Это будет соответствовать всей строке и извлечь две нужные части.Операция slice делает результат простым массивом и удаляет всю строку из результатов.
slice