やりたいこと
strにおける肯定的先読みでinuだけの後の値をgsubして肯定的後読みで読んで更新したいです
つまり、str = "<div inu=\"100\" inuinu=\"200\"></div>"
をstr = "<div inu=\"300\" inuinu=\"200\"></div>"
に変換したいです
^や$を使用しましたがうまくマッチしません。
inuで後読みする場合はどちらもマッチしてしまいます。
うまく選択的にinuを判定する書き方はございますでしょうか?
irb(main):003:0> str = "<div inu=\"100\" inuinu=\"200\"></div>" => "<div inu=\"100\" inuinu=\"200\"></div>" #どちらも更新されてしまう irb(main):004:0> str.gsub(/(?<=inu=\")\d{1,}/, '300') => "<div inu=\"300\" inuinu=\"300\"></div>" irb(main):005:0> str => "<div inu=\"100\" inuinu=\"200\"></div>" #一致しない irb(main):006:0> str.gsub(/(?<=^inu$=\")\d{1,}/, '300') => "<div inu=\"100\" inuinu=\"200\"></div>"
version
Ruby2.5.1
なんで inuinu じゃなく inu でチャレンジしてるんですか?
申し訳ありません、inuinuではなく、inuを変えたいことが意図でした。修正しました。
回答2件
あなたの回答
tips
プレビュー