re = /^(((C|c)h(a|ă|ẵ|ẳ)n)|((L|l)(e|ẻ)))[\s\[]*(\d+\s?-?\s?\d*)[\s\]]*([\w\s]*)$/m
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
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html