Hatena::Grouprubyist

Rubyをラクガク(正規表現編) RSSフィード

2009-11-28

[]戻り読み 戻り読み - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク - 戻り読み - Rubyをラクガク(正規表現編) 戻り読み - Rubyをラクガク(正規表現編) のブックマークコメント

(戻り読み(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」で動かしたかったんだけど、うまく動作させることができなかった。