次のようなテンプレートがあります。
<h1>asd</h1>
...
<h1>asd</h1>
...
<h2>asd</h2>
...
<h2>asd</h2>
...
に変換する方法
<h1>1. asd</h1>
...
<h1>2. asd</h1>
...
<h2>2.1. asd</h2>
...
<h2>2.2. asd</h2>
...
ruby 1.8.7 で正規表現を使うには?
次のようなテンプレートがあります。
<h1>asd</h1>
...
<h1>asd</h1>
...
<h2>asd</h2>
...
<h2>asd</h2>
...
に変換する方法
<h1>1. asd</h1>
...
<h1>2. asd</h1>
...
<h2>2.1. asd</h2>
...
<h2>2.2. asd</h2>
...
ruby 1.8.7 で正規表現を使うには?
Ruby 1.8.7にインストール可能な鬼車を使って、
string =<<X
<h1>asd</h1>
...
<h1>asd</h1>
...
<h2>asd</h2>
...
<h2>asd</h2>
...
X
puts string.gsub(/(?<=<h1>).*?(?=<h1>|\z)/m).with_index{|s, i|
s = s.gsub(/(?<=<h2>).*?(?=<h2>|\z)/m).with_index{|s, j|
"#{i+1}.#{j+1}. #{s}"
}
"#{i+1}. #{s}"
}
#=>
# <h1>1. asd</h1>
# ...
# <h1>2. asd</h1>
# ...
# <h2>2.1. asd</h2>
# ...
# <h2>2.2. asd</h2>
# ...