Интерполяция строки в регулярное выражение

Обратите внимание, что Regexp.quote в regular-expressions Jon L.'s answer важна!

if goo =~ /#{Regexp.quote(foo)}/

Если просто сделать apache-regexp "очевидную" версию:

if goo =~ /#{foo}/

тогда perlre точки в вашем тексте совпадения perl-regex рассматриваются как подстановочные regular-expression знаки регулярных выражений, и perl-regex "0.0.0.0" будет соответствовать "0a0b0c0".

Также regexes обратите внимание, что если regexes вы действительно хотите проверить regularexpression совпадение подстроки, вы regex-php можете просто сделать

if goo.include?(foo)

, который regular-expressions не требует дополнительных regex-php кавычек или беспокойства ruby о специальных символах.

ruby

regex

2022-08-18T21:38:46+00:00