Регулярное выражение для извлечения слова между двумя последними двоеточиями - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в reg-ex. Я хотел бы иметь регулярное выражение для извлечения слова между двумя последними встречами двоеточия.

Пример: input

lst:idm:am::000000023:user:device:FFFFFFFF

output: device

Точно так же я хотел бы есть еще одно выражение для извлечения «пользователя» из ввода выше.

Я пробовал как /\:.*\:/g. Я получаю результат как :idm:am::000000023:user:device:.

Спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

:([^:]+):[^:]*$ работает с группой 1.

[^:] означает «соответствовать любому символу, который не :»

$ - конец строки

Дает вам «найти конец строки, сопоставить любой предыдущий мусор до двоеточия, захватить все, кроме предыдущего двоеточия»

Более простой подход: let x = text.split( ':' ); let match = x[ x.length - 2 ];

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