|
山紫水明さん
早速のお返事、大変有難うございます。
便利なマクロのご提供、有難うございます。
説明不足でした。
具体例として、URLの抽出
置換式:
\fwww\.x{2,}\.co(\.jp)\f♂\0<\1>\2♂r♂nc
\f(x{2,}\.co\.jp)\f♂\0<\1>\2♂r♂nc
\f(x{2,}\.co)\f♂\0<\1>\2♂r♂nc
対象データ:www.xxxxx.co.jp
結果
1巡目 <www.xxxxx.co.jp> この最長文字列ヒットの結果だけが欲しい
2巡目 <www.<xxxxx.co.jp>>
3巡目 <www.<<xxxxx.co>.jp>> これが結果ですが、置換式の最後で、<www.x
xxxx.co.jp>に変換しています。
やりたい事:
<>に隣接する内部の2重抽出はしない様にしたい。
置換式の文頭末に[^<] [^>]を付加しても、効果がない、
現在やっている、最後に解除用の式を加える、という手間を省きたい、
処理時間も短くしたい、
という意味の投稿でした。
時々あるケースなのですが、今上記の簡単な例でやった場合、隣接の内部抽出を再現
出来ません。
(^|[^<])\f(www\.)x{2,}\.co(\.jp)\f([^>]|$)♂\0<\1>\2♂r♂nc
(^|[^<])\f(x{2,}\.co\.jp)\f([^>]|$)♂\0<\1>\2♂r♂nc
(^|[^<])\f(x{2,}\.co)\f([^>]|$)♂\0<\1>\2♂r♂nc
結果:
1巡目 <www.xxxxx.co.jp>
2巡目 <www.<xxxxx.co>.jp>:これは隣接してないので、避けられないかと思い
ます。
すみません。。
次回、改めて具体例を提示しようかと思いますが、
この問題は、置換式の正規表現で回避、するしかないでしょうか?
お手数お掛け致しました。
また、今後マクロの投稿は、こちらにさせて頂きます。
|
|