Я хочу извлечь фрагменты кода ruby из обычного текста.Regex для вывода кода Ruby из обычного текста?
Использование драгоценного камня https://github.com/Erol/yomu позволяет извлечь текст PDF-документа. Теперь я хочу получить только хорошо сформированный код ruby, например, из рубино-программирующей книги.
Любая идея, как может выглядеть регулярное выражение для многострочных совпадений рубиновых методов и классов? Я пробовал много разных выражений, но не получил результатов, которые я ожидал.
Синтаксис Ruby не является обычным языком. Вы можете сопоставить его с регулярными выражениями. Кроме того, поскольку Ruby очень разрешительный, даже заголовок вашего вопроса сам по себе является действительным кодом Ruby. Как раз из сырого текста, фактически невозможно извлечь только код ruby и игнорировать прозу между ними. –
Поскольку код в книге используется, чтобы быть хорошо сформированным, это должно быть возможно. Но я думаю, вам нужно будет подсчитать ключевые слова открытия блока ruby, чтобы узнать, когда закончится класс или методы. Все возможно. – mminski
Я пробовал smth вроде: 'Yomu.new (" book.pdf "). scan (/ \ nclass \ [az] * \ n. * \ nend \ n/m) ' Для извлечения класса ruby. Использование разрывов строк помогает здесь для сопоставления правильных частей обычного текста. – mminski