2009-11-28
■ [正規表現]戻り読み

(戻り読み(lookbehind)は Oniguruma *7が必要)
正規表現
ということで、1.9だと動作します。
ret = "its Jeffs pen.".gsub(/(?<=\sJeff)(?=s\s)/, "'") puts "'its Jeffs pen.'.gsub(/(?<=\sJeff)(?=s\s)/, \"'\"): #{ret}" ret = "its Jeffs pen.".gsub(/(?<!\sJeff)(?!s\s)/, "'") puts "'its Jeffs pen.'.gsub(/(?<!\\sJeff)(?!s\\s)/, \"'\"): #{ret}"
'its Jeffs pen.'.gsub(/(?<=\sJeff)(?=s\s)/, "'"): its Jeff's pen. 'its Jeffs pen.'.gsub(/(?<!\sJeff)(?!s\s)/, "'"): 'i'ts' 'J'e'f'fs' 'p'e'n'.'
本当は「\s」ではなく「\b」で動かしたかったんだけど、うまく動作させることができなかった。
コメントを書く