#ruby #regex
#ruby #регулярное выражение
Вопрос:
У меня есть 5 строк
line1
line2
line3
line4
line5
Используя регулярное выражение, я сопоставил строку3. Теперь есть ли способ переместить строку 3 сразу после строки 2 (другими словами, убрать n в конце строки 2)?
Я планирую использовать line3.sub(/myregex/, "some way to pull up line3 right after line2")
метод.
или я могу сделать line2.sub(/regex_to_select_the_/n_at_the_end/, "")
. Сработает ли это?
Есть ли лучший / другой способ сделать это?
Комментарии:
1. Регулярные выражения имеют единственную цель; находить шаблоны текста. Как только вы это найдете, вам почти всегда лучше использовать другой инструмент для манипулирования этими данными.
Ответ №1:
Просто поместите регулярное выражение, которое вы использовали для сопоставления line3
, в поисковое выражение, найдите n
перед этим и замените его ничем:
result = subject.gsub(/n(?=regex)/, '')
(где regex
ваше регулярное выражение).