Давайте использовать это как пример данных:
text=<<EOF
#if A==20
int b = 20;
#else
int c = 30;
#endif
И этот код:
puts text.scan(/\#.*?\#/m)
Почему это только захватывает это:
#if A==20
int b = 20;
#
Я ожидал, что это совпадет также:
#else
int c = 30;
#
Что мне нужно изменить, чтобы оно также отражало это? Я использовал /m
для многострочного сопоставления, но, похоже, он не работает.