Имеется файл с строками вида
xxxxx@mail.ru id
Нужно вытащить xxxxx@mail.ru и id
Регулярное выражение для получения почты ^(.+)(?:\s+) почему-то тянет за собой еще и пробелы, хотя указал их исключение. Что я делаю неправильно? Интерактивный пример здесь https://regex101.com/r/hhL2d5/2/
Вы можете воспользоваться следующим регулярным выражением:
^(\S+)\s+(\S+)
Онлайн-демо
Подробности
^ - начало строки (\S+) - захватывающая подмаска №1: 1 и более символов, отличных от пробельных символов\s+ - 1 и более пробельных символов(\S+) - захватывающая подмаска №2: 1 и более символов, отличных от пробельных символов.Код на JavaScript:
var s = "xxxxx@mail.ru id";
var res = s.match(/^(\S+)\s+(\S+)/);
console.log(res[1], "и", res[2]);
Если нужно получить подстроку до первого пробела, можно использовать /^\S+/:
console.log("xxxxx@mail.ru id".match(/^\S+/)[0]);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей