Использование регулярных выражений с новой строкой "\ n" - PullRequest
1 голос
/ 24 февраля 2012

Можно ли использовать регулярное выражение, несмотря на символ новой строки \n

например, этот код работает хорошо

> "|text|".gsub(/\|(.+?)\|/){"###"}
=> "###"

это не

> "|\n text|".gsub(/\|(.+?)\|/){"###"}
=> "|\n text|"

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

Используйте модификатор m для многострочных совпадений:

"|\n text|".gsub(/\|(.+?)\|/m){"###"}
1 голос
/ 24 февраля 2012

Вот альтернатива модификатору m (специфично для вашего случая):

"|\n text|".gsub(/\|([^\|]+?)\|/){"###"}

Будет соответствовать до следующего |.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...