特定の文字列の抽出No.04026
hrogawa さん 04/01/20 15:41
 
マクロ超初心者です。

例えば

[16/Jan/2004:07:39:12 +0900] "GET /b_servlet/SearchServlet?SEARCH_KEYWORD=%B
C%C4%B8%B6&SEARCH_KIND=3&

からKEYWORD=%と&SEARCH_KINDに挟まれている「%BC%C4%B8%B6」だけを取り出したい
のですが,マクロで可能でしょうか。

[ ]
RE:04026 特定の文字列の抽出No.04027
山紫水明 さん 04/01/20 23:03
 
 hrogawaさん,こんばんは。

》からKEYWORD=%と&SEARCH_KINDに挟まれている「%BC%C4%B8%B6」だけを取り出した

》のですが,マクロで可能でしょうか。

 次のマクロでお試しください。

//-------------------------------------------------------------
replaceall ".*KEYWORD=\\f.+\\f&SEARCH_KIND.*", "\\1", regular;
endmacro;
//-------------------------------------------------------------


     では, (^^)/~
                                        山紫水明

[ ]
RE:04027 特定の文字列の抽出No.04028
アルビレオ さん 04/01/20 23:31
 
アルビレオです。

ログからサーチキーワードだけ取り出したいのだと思うので、こうした方が便利
かも。

//-------------------------------------------------------------
//"SEARCH_KEYWORD=..."を抽出
replaceall ".*\\fSEARCH_KEYWORD=[^&]+\\f&SEARCH_KIND.*", "\\1", regular;
//不要な行を削除
replaceall "^\\[.*\\n", "", regular;
//S"EARCH_KEYWORD="を削除
replaceall "^SEARCH_KEYWORD=", "", regular;
endmacro;
//-------------------------------------------------------------

いったん"SEARCH_KEYWORD="を残すのは、"SEARCH_KEYWORD=[..."となっている行
を削除しないようにするためです。(余計なお世話かも)

[ ]
RE:04028 山紫さん,アルビレオさん,ありNo.04029
hrogawa さん 04/01/21 14:32
 
参考にさせていただきます。
まだ勉強不足の点もあるので,お二方の例を元に調べてみます。
ありがとうございました。

[ ]