Ruby, используя регулярное выражение, чтобы найти что-то между двумя строками Использование Ruby + regex, данное: [email protected] Я хочу получить только: 31313131313 т.е. то, что находится между starting-middle+ и mysite.com Вот что я до сих пор: to = '[email protected]' to.split(/\+/@mysite.com.*/).first.strip Ответ 1 Между 1-м + и 1-м @: to[/\+(.*?)@/,1] Между 1-м + и последним @: to[/\+(.*)@/,1] Между последними + и последними @: to[/.*\+(.*)@/,1] Между последними + и 1-м @: to[/.*\+(.*?)@/,1] Ответ 2 Вот решение без регулярного выражения (гораздо проще для меня читать): i = to.index("+") j = to.index("@") to[i+1..j-1]
Ответ 1 Между 1-м + и 1-м @: to[/\+(.*?)@/,1] Между 1-м + и последним @: to[/\+(.*)@/,1] Между последними + и последними @: to[/.*\+(.*)@/,1] Между последними + и 1-м @: to[/.*\+(.*?)@/,1]
Ответ 2 Вот решение без регулярного выражения (гораздо проще для меня читать): i = to.index("+") j = to.index("@") to[i+1..j-1]