Как получить только первый символ совпадения с RegEx - PullRequest
0 голосов
/ 26 декабря 2018

Я хочу разбить строку в JavaScript, используя RegEX.

Это пример строки:

REQUEST : LOREMLOREM : LOREM2LOREM2

Можно ли разделить ее на:

[REQUEST , LOREMLOREM : LOREM2LOREM2]

Я пытался использовать /:?/g, но это не работает.

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Просто удалите Глобальный модификатор 'g' в конце и '?' Квантор.Без них выражение будет возвращать только первое совпадение.

Ваш новый RegEx будет /: /

. Для проверки ваших регулярных выражений перейдите на https://regex101.com/r/11VFJ8/2

0 голосов
/ 26 декабря 2018

Вместо использования регулярного выражения можно разделить двоеточие, а затем использовать комбинацию shift для удаления и возврата первого элемента из массива и join для объединения оставшихсяэлементы, использующие двоеточие:

let str = "REQUEST : LOREMLOREM : LOREM2LOREM2";
$parts = str.split(':');
[a, b] = [$parts.shift().trim(), $parts.join(':').trim()];
console.log(a);
console.log(b);
0 голосов
/ 26 декабря 2018

Вы можете просто сделать:

var parts = str.match(/([^:]*)\s*:\s*(.*)/).slice(1)

Это будет соответствовать всей строке и извлечь две нужные части.Операция slice делает результат простым массивом и удаляет всю строку из результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...