プロが教える店舗&オフィスのセキュリティ対策術

Ruby を使って <z>xxxxx</z>で囲まれた部分を
<>も含んで取り出したいと思っています
<z>だけでなく、<a>や<b>など複数あります

ネットで検索して
rubyをインストールし
サンプルコードを使って
test.txtから読み込む
ことにしました
----------------------
#! ruby -Ks
# -*- coding: Windows-31J -*-

file = File.open("test.txt","r")
file.each do |text|
if text =~ /<[^>]+>/
puts text
end
end
file.close
----------------------
これでは<>のついた行しか抽出できませんでした
<z>xxxxx</z>
のように出力したいのですが
どこを直したらいいでしょうか

どうぞよろしくお願いします

A 回答 (1件)

こんな感じで如何でしょう



text = "aaa<z>xx<q>yyy</q>xxxxxx</z>ccc"

text =~ /<(?<tag>.+?)>.+<\/\k<tag>>/

puts $& # => <z>xx<q>yyy</q>xxxxxx</z>
    • good
    • 0
この回答へのお礼

出来ました。すばやい回答有難うございました。助かりました。

お礼日時:2017/05/21 22:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!