Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Регулярное выражение (https://javascript.ru/forum/dom-window/59250-regulyarnoe-vyrazhenie.html)

alerzo 02.11.2015 21:34

Регулярное выражение
 
Здравствуйте подскажите регулярное выражение чтобы парсить пароль в формате списков вида
логин:пароль
логин:пароль
логин:пароль
логин:пароль

пробовал так (:=?).+[-_A-Za-z0-9@\\.]
но берется еще и двоеточие

Vlasenko Fedor 02.11.2015 23:23

alert('логин:пароль'.split(':')[1]||'');

alerzo 02.11.2015 23:24

мне нужно регулярное выражение, а не скрипт или костыль..

ruslan_mart 02.11.2015 23:39

alerzo, как раз таки с регулярным выражением и будет "костыль". Зачем применять регулярные выражения там, где они вовсе не нужны?

/:([\w@.-]+)/

alerzo 02.11.2015 23:44

Цитата:

Сообщение от Ruslan_xDD (Сообщение 394244)
alerzo, как раз таки с регулярным выражением и будет "костыль". Зачем применять регулярные выражения там, где они вовсе не нужны?

/:([\w@.-]+)/

https://yadi.sk/i/T3UXpE2xkC5Uu

ruslan_mart 02.11.2015 23:50

alerzo, не получится сделать такое условие как Вы хотите.

var str = `
    login:qwerty
    login:12345
    login:asdfg
    login:123abc
    login:alex2015`;

var reg = /:([\w@.-]+)$/gm,
    passList = [], result;

while(result = reg.exec(str)) {
    passList.push(result[1]);
}

console.log(passList);

alerzo 02.11.2015 23:55

мне нужно взять также как у вас :([\w@.-]+)$ только без двоеточия - берется с ним, почему не получится?

alerzo 02.11.2015 23:58

у меня появляется на странице пара вида
login:pass
логин я спарсил и положил в переменную
не получается спарсить пароль, страница txt файл, парсинг делаю по регулярному выражению сначало до двоеточия потом нужно после

рони 03.11.2015 00:20

alerzo,
непонятно ни данные, ни чего хотите получить
<script>
    var str = '\
    login:qwerty\
    login:12345\
    login:asdfg\
    login:123abc \
    login:alex2015';

var reg = /[^:\s]+/gm,
    passList = str.match(reg);
document.write(passList+'<br>');
 reg = /[^:\s]+(?=\s|$)/gm,
    passList = str.match(reg);
document.write(passList+'<br>');
 </script>

ruslan_mart 03.11.2015 00:26

alerzo, JavaScript не поддерживает опережающие/ретроспективные проверки.


Часовой пояс GMT +3, время: 16:51.