const regex = new RegExp('^(((C|c)h(a|ă|ẵ|ẳ)n)|((L|l)(e|ẻ)))[\\s\\[]*(\\d+\\s?-?\\s?\\d*)[\\s\\]]*([\\w\\s]*)$', 'gm')
const str = `Chẵn 0-100 Bạch Đằng
Chẵn [0] 2-204 Trần Thanh Mại
Chẳn [0] 460-530 Kinh Dương Vương
Chẳn [0] 460-532 Kinh Dương Vương
Chẳn [100-262] Quốc lộ 13
Chẵn 0 - 364 Phố Huế
Chẵn 0 - 44 Tây Tựu
Chẵn 0-100 Bạch Đằng
Chẵn 0-100 Ngõ 124 Âu Cơ
Chẵn 0-110 Đường Vành Đai
Chẵn 0-110 Trâu Quỳ
Chẵn 0-112 Đường Ô Chợ Dừa
Chẵn 0-116 Đường số 8
Chẵn 0-118 Bình Trị Đông
Chẵn 0-128 Nguyễn Sơn
Lẻ 1-13 đường Thạnh Lộc 29
Lẻ 1-131 Đường số 4
Lẻ 1-131 Hoàng Hoa Thám
Lẻ 1-131 Kênh Mười Chín Tháng Năm
Lẻ 1-131 Nguyễn Phúc Chu
Lẻ 1-131 Trần Quang Cơ
Lẻ 1-131 Trần Văn Kỷ
Lẻ 1-133 Ấp Chiến Lược
Lẻ 1-133 Bạch Đằng
Lẻ 1-133 Khánh Hội
Lẻ 1-133 Nguyễn Thiện Thuật
Lẻ 1-134 Trần Hưng Đạo
Lẻ 1-135 Đặng Chất
Lẻ 1-135 Hoàng Hoa Thám
Lẻ 1-135 Lý Phục Man
Lẻ 1-135 Nguyễn Phong Sắc, Cầu Giấy, Hà Nội
`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions