19/09/13 13:25:46.31 8XwQqyT8.net
Ruby で作った。
一旦、パターンで一致させてから、一致した行だけを変換した。
ただし、同じ行に、id="~" が複数あると、バグる!
src = <<'EOT'
id="aAxy Xz"
あ
id=""
id="9"
id="9y"
EOT
# id=" で始まって、" 以外の文字が続いて、" で終わる
re = /id\=\"([^\"]+)\"/ # ( ) 内は、$1
dest = src.gsub( re ) do |line|
'id="' + $1.delete( "a-z" ) + '"'
end
print dest
出力
id="A X"
あ
id=""
id="9"
id="9"