URLの変換
No.04375
hrogawa
さん 04/06/15 16:57
初心者です。
お知恵を貸してくださいませんか。
あるURLを別の書式に変換したいのです。
例えば,
http://aaaaa.bbbbb.co.jp/hou/cgi-bin/earch/md_contents.pl/0000166115.html?NE
WS_ID=0000166115&CONTENTS=0&MD_DHTML=%6d%64%5f%63%6f%6e%74%65%6e%74%73%2e%68
%74%6d%6c&MD_KNO=%30%30%30%30%31%36%36%31%31%35&bt=NIS&SYSTEM_ID=HO
という書式のURLを
http://aaaaa.bbbbb.co.jp/hou/cgi-bin/earch/md_pdf.pl/0000166115.pdf?NEWS_ID=
0000166115&CONTENTS=1&bt=NIS&SYSTEM_ID=HO
という書式に変換したいのです。
問題なのは「CONTENTS=0&」と「&bt=」にはさまれている「MD_DHTML=%6d%64%5f%63%6
f%6e%74%65%6e%74%73%2e%68%74%6d%6c&MD_KNO=%30%30%30%30%31%36%36%31%31%35」を
削除することですが,これがどうやればいいかわかりません。
教えていただけると幸いです。
[
△
]
RE:04375 URLの変換→補足
No.04376
hrogawa
さん 04/06/15 20:47
先ほどの件ですが,正規表現を使って実現したいのです。
同様のパターンのURLが数百あります。
>初心者です。
>お知恵を貸してくださいませんか。
>あるURLを別の書式に変換したいのです。
>
>例えば,
>
>
http://aaaaa.bbbbb.co.jp/hou/cgi-bin/earch/md_contents.pl/0000166115.html?N
>EWS_ID=0000166115&CONTENTS=0&MD_DHTML=%6d%64%5f%63%6f%6e%74%65%6e%74%73%2e%
>68%74%6d%6c&MD_KNO=%30%30%30%30%31%36%36%31%31%35&bt=NIS&SYSTEM_ID=HO
>
>という書式のURLを
>
>
http://aaaaa.bbbbb.co.jp/hou/cgi-bin/earch/md_pdf.pl/0000166115.pdf?NEWS_ID
>=0000166115&CONTENTS=1&bt=NIS&SYSTEM_ID=HO
>
>という書式に変換したいのです。
>問題なのは「CONTENTS=0&」と「&bt=」にはさまれている「MD_DHTML=%6d%64%5f%63%
>6f%6e%74%65%6e%74%73%2e%68%74%6d%6c&MD_KNO=%30%30%30%30%31%36%36%31%31%35」
>を削除することですが,これがどうやればいいかわかりません。
>
>教えていただけると幸いです。
[
△
]
RE:04375 URLの変換
No.04377
アルビレオ
さん 04/06/15 21:26
秀丸ユーザーのアルビレオです。
>問題なのは「CONTENTS=0&」と「&bt=」にはさまれている「MD_DHTML=%6d%64%5f%63%6
>f%6e%74%65%6e%74%73%2e%68%74%6d%6c&MD_KNO=%30%30%30%30%31%36%36%31%31%35」を
>削除することですが,これがどうやればいいかわかりません。
特定パラメータの削除だけなら
検索:&MD_(DHTML|KNO)=[^&]*
置換:
でほとんどいけると思います。
一回の置換でパス部分なども置換するなら
検索:/md_contents\.pl/\f[0-9]+\.\fhtml\f\?.+\f&MD_DHTML=[^&]*&MD_KNO=[^&]*
置換:/md_pdf\.pl/\1pdf\3
となります。
ただし後者ではパラメータの順番が変わったり省略されててしまうと、うまく対
応できません。
[
△
]
RE:04377 ありがとうございました!
No.04378
hrogawa
さん 04/06/16 12:00
ありがとうございました。
教えていただいた以下の正規表現でなんとかなりそうです。
>特定パラメータの削除だけなら
> 検索:&MD_(DHTML|KNO)=[^&]*
> 置換:
>でほとんどいけると思います。
>
>一回の置換でパス部分なども置換するなら
> 検索:/md_contents\.pl/\f[0-9]+\.\fhtml\f\?.+\f&MD_DHTML=[^&]*&MD_KNO=[^&]*
> 置換:/md_pdf\.pl/\1pdf\3
[
△
]