Так что я сейчас пытаюсь сортировать значения из файла. Я застрял в поиске первого атрибута и не знаю, почему. Я новичок в регулярном выражении и рубине, поэтому не знаю, как решить проблему. Я пытаюсь найти значения a, b, c, d, e, где они все положительные числа.Использование регулярных выражений регулярных выражений и рубинов для нахождения значений
Вот что линия будет выглядеть
length=<a> begin=(<b>,<c>) end=(<d>,<e>)
Вот что я использую, чтобы найти значение
current_line = file.gets
if current_line == nil then return end
while current_line = file.gets do
if line =~ /length=<(\d+)> begin=((\d+),(\d+)) end=((\d+),(\d+))/
length, begin_x, begin_y, end_x, end_y = $1, $2, $3, $4, $5
puts("length:" + length.to_s + " begin:" + begin_x.to_s + "," + begin_y.to_s + " end:" + end_x.to_s + "," + end_y.to_s)
end
end
по какой-то причине он не печатает что-нибудь, так что я предполагаю, что это никогда не находит совпадение
ввода образца длина = 4 = начать (0,0) = конец (3,0)
Линия с 0-4 знаками после 2 целых чисел, разделенных запятыми. Так это может быть любой из них:
2 4 1.3434324,3.543243,4.525324
1 2
18 3.3213,9.3233,1.12231,2.5435
7 9 2.2,1.899990
0 3 2.323
@Jake Старший, я отправил ответ, делает то, что вы хотите. – 7stud