6

2 つのランディング ページがあります。

/aa/index.php/aa/index/[sessionID]/alpha
/bb/index.php/bb/index/[sessionID]/bravo

sessionID は一意であるため、各ランディング ページは異なるページとして追跡されます。したがって、sessionID を削除するフィルターが必要です。これらは私が追跡したいものです:

/aa/index.php/aa/index/alpha
/bb/index.php/bb/index/bravo

リクエスト URI に検索と置換のカスタム フィルターを作成しました。

Search String: /(aa|bb)/index\.php/(aa|bb)/index/(.*)
Replace String: /$1/index.php/$2/index/$3

しかし/$1/index.php/$2/index/$3、翌日ダッシュボードに報告されています。だから私は試し/\1/index.php/\2/index/\3てみましたが、非常に奇妙な結果が得られました//aa/index.php/aa/index/alpha/index.php/aa/index/aa.

グループ化されたパターンを置換文字列で参照する方法を知っている人はいますか?

私の解決策: 高度なフィルターを使用して解決できました。私の解決策:

Field A => Request URI: /(aa|bb)/index\.php/(aa|bb)/index/(.*)/(.*) 
Field B => - 
Output to => Request URI: /$A1/index.php/$A2/index/$A4
4

1 に答える 1

1

私は Google アナリティクスの正規表現エンジンを使用していませんが、 が最初のグループ、が 2 番目のグループなどのように\1、一致全体 (他の正規表現の実装では と呼ばれる\0)を参照しているように見えます。\2\3

ただし、最初の正規表現は不完全に見えます。次のようになるはずです。

Search String: /(aa|bb)/index\.php/(aa|bb)/index(/.*)/(alpha|bravo)
Replace String: /\2/index.php/\3/index/\5

(この正規表現の実装で貪欲でない修飾子として がサポートされているかどうかはわかりませんが、サポートされている場合は、 に変更する?と、上記の検索文字列パターンが少し速く実行される可能性があります。)/.*/.*?

于 2012-12-07T00:04:57.323 に答える