#jquery
#jquery
Вопрос:
Как я могу «фильтровать» определенный диапазон символов. Например:
Safari IPv4 ... 0t0 TCP wlan-237-15-16-172:52122->fa-in-f84.1e100.net:https
Dashboard IPv4 ... 0t0 TCP wlan-237-15-16-172:52122->fa-in-f95.1e100.net:https
Каждая строка имеет один и тот же шаблон. Я хочу выбрать / отфильтровать / скопировать IP-адрес после «->» до «: https» в переменную. При просмотре приведенного выше примера я хочу извлечь эти символы:
fa-in-f84.1e100.net
fa-in-f95.1e100.net
Как я могу это сделать?
И: Что я могу сделать, чтобы выбрать все строки, начинающиеся с (например) «Safari», а затем на втором шаге выбрать IP-адреса…
Комментарии:
1. с помощью регулярных выражений
Ответ №1:
Сделайте это так :
var safari = 'TCP wlan-237-15-16-172:52122->fa-in-f84.1e100.net:https';
console.log(safari.split('->')[1].split(':https')[0]);
Ответ №2:
попробуйте это регулярное выражение, надеюсь, это решит вашу проблему
var str = "TCP wlan-237-15-16-172:52122->fa-in-f84.1e100.net:https";
var regexp = /->(.*):/g;
var ip = regexp.exec(str)[1];
console.log(ip);
ОБНОВЛЕНИЕ 1
это позволит найти несколько экземпляров этого шаблона
var str = "TCP wlan-237-15-16-172:52122->fa-in-f84.1e100.net:https Dashboard IPv4 ... 0t0 TCP wlan-237-15-16-172:52122->fa-in-f95.1e100.net:https";
var regexp = /(->(.*?):) ?/g;
var resArray = [];
while ((res = regexp.exec(str)) !== null)
{
console.log("------------------",res);
resArray.push(res[2]);
}
console.log(resArray);
Комментарии:
1. да. Спасибо. теперь я получаю первый IP-адрес, который появляется в строках. как я могу собрать их все? понимаете, что я имею в виду?
2. @iMax Смотрите Мой обновленный код «обновление 1» надеюсь, это поможет
Ответ №3:
Используйте регулярные выражения:
function filter_ip(string) {
return string.match(/->(. ):/g)[0].replace(/[->:]/g, "");
}
filter_ip("Safari IPv4 ... 0t0 TCP wlan-237-15-16-172:52122->fa-in-f84.1e100.net:https");