|
その要件でしたら、こんな感じのマクロでいかがでしょうか。
(正規表現を工夫すればもうちょっと短く書くこともできますが、学習用として分か
りやすいよう、少し冗長な書き方をしています)
// 「/**-**/」が2個以上存在する行を抽出
localgrep "(/[a-z]{2}-[A-Z]{2}/).*(/[a-z]{2}-[A-Z]{2}/)", regular;
// 「/**-**/」が3個以上存在する行を削除
replaceallfast "^.*/[a-z]{2}-[A-Z]{2}/.*/[a-z]{2}-[A-Z]{2}/.*/[a-z]{2}-[A-Z]
{2}/.*\\n", "", regular;
// 2個の「/**-**/」が同じである行を削除
replaceallfast "^.*(/[a-z]{2}-[A-Z]{2}/).*\\1.*\\n", "", regular;
▼処理前
xxxx/aa-AA/xxxx
xxxx/ZZ-zz/xxxx
xxxx/aa-AA/xxxx/aa-AA/xxxx
xxxx/aa-AA/xxxx/bb-BB/xxxx
xxxx/aa-AA/xxxx/ZZ-zz/xxxx
xxxx/ZZ-zz/xxxx/aa-AA/xxxx
xxxx/ZZ-zz/xxxx/ZZ-zz/xxxx
xxxx/aa-AA/xxxx/bb-BB/xxxx/bb-BB/xxxx
xxxx/aa-AA/xxxx/aa-AA/xxxx/bb-BB/xxxx
xxxx/aa-AA/xxxx/aa-AA/xxxx/aa-AA/xxxx
▼処理後
(4): xxxx/aa-AA/xxxx/bb-BB/xxxx
|
|