2010-02-01 3 views

ответ

1
str = 'lets make some sandwiches' 
xyzstr = str.gsub(/some/, "xyz.some"); 
2

Это не выглядит, как вам нужно регулярное выражение - старый добрый gsub будет делать:

s = "foo some" 
=> "foo some" 
s.gsub("some", "xyz.some") 
=> "foo xyz.some" 
2
"some string sth".gsub(/some|sth/, 'xyz.\0') 
=> "xyz.some string xyz.sth" 

Вы найдете «некоторые» (или что-нибудь другое), а затем вы можете использовать \0 взамен строки (смотрите цитату, вам нужно использовать \\0 в строке "..."), чтобы разместить все ваши регулярные выражения. Или вы можете группировать совпадения в своем регулярном выражении и использовать \1 - \9 в вашей заменяемой строке. Чтобы разместить неподходящую группу, просто используйте (?:).

2

Если «some» может быть любой произвольной строкой (неизвестной на момент написания сценария), Используйте \ 1 для использования согласованной группы (по положению) в вашей заменяющей строке.

a = "the quick brown fox jumped over the lazy dog" 
str_to_find = "the" 

a.gsub(/(#{str_to_find})/, 'xyz.\1') 
# => "xyz.the quick brown fox jumped over xyz.the lazy dog" 
Смежные вопросы