JSFiddle - React, Tailwind, and code Playground
by toubia95
JavaScript
var selection = "125.45.26-27.2-3";
selection = selection.replace(/(\d{1,3}\.\d{1,3}\.)(\d{1,3})-(\d{1,3})(\.\d{1,3}(-\d{1,3})?)/ig, function(match, p1, p2, p3, p4, offset, string) {
var i = (p2 < p3) ? p2 : p3;
var j = (p3 > p2) ? p3 : p2;
var k = [];
while (i <= j) {
k.push(p1 + i + p4);
i++;
}
return k.join("\n");
});
alert(selection);
selection = selection.replace(/(\d{1,3}\.\d{1,3}\.\d{1,3}\.)(\d{1,3})-(\d{1,3})/igm, function(match, p1, p2, p3, p4, offset, string) {
var i = (p2 < p3) ? p2 : p3;
var j = (p3 > p2) ? p3 : p2;
var k = [];
while (i <= j) {
k.push(p1 + i);
i++;
}
return k.join("\n");
})
.split("\n");
alert(selection);