|
[ruby-list:42111] [Q] perl の m//g に相当する処理を ruby で行ないたい: msg#00142lang.ruby.japanese
ruby勉強中の 逸見と申します。 perl でいうところの m//g で行なう処理を ruby ではどう書くのかリファレンスマニュアル を精読しても判らなかったので、質問させていただきます。 ● 問題 正規表現を、バッファ全体に複数存在する、複数行に渡るパターンにマッチさ せたい。 例えば、python なら↓のように finditer() を使う処理を ruby ではどうする か知りたいのです。 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ content = urllib.urlopen(sys.argv[1]).read() pattern=re.compile("<form.*?>" + "|</form>" + "|<input.*?/>" + "|<input.*?>" + "|<textarea.*?</textarea>" + "|<select.*?</select>" ,re.IGNORECASE|re.DOTALL) for tag in pattern.finditer(content): print tag.group() +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ perl なら m//g, python なら、re.finditer/re.findall()を使う所なので すが、ルビーのリファレンスマニュアル (http://www.ruby-lang.org/ja/man/?cmd=view;name=Regexp#EXTENDED)をみる と perl でいう所の m//xis に相当するオプションしか見当りません。 oniguruma には g オプションがあるようですが... 先輩方の御指導をお願い致します。 -- 逸見研一(いつみけんいち) Mixi http://mixi.jp/show_friend.pl?id=113732 Orkut http://www.orkut.com/Profile.aspx?uid=11299027584966195898 Blog http://d.hatena.ne.jp/amt/ Plan http://calendar.yahoo.co.jp/amt_tmp
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42110] Re: puts,printの出力をファイルにも出力するには, 岩崎 弘孝 |
|---|---|
| Next by Date: | [ruby-list:42112] Re: [Q] perl の m//g に相当する処理を ruby で行ないたい, KIMURA Koichi |
| Previous by Thread: | [ruby-list:42110] Re: puts,printの出力をファイルにも出力するには, 岩崎 弘孝 |
| Next by Thread: | [ruby-list:42112] Re: [Q] perl の m//g に相当する処理を ruby で行ないたい, KIMURA Koichi |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |