[スレッド全体]

2008/7/3 (木) 03:46:45 なすこじ  
Mozilla/4.0 (compatible; MSIE 6.0; KDDI-MA33) Opera 8.60 [ja]
[5378] 正規表現での複数行対応
簡易的ではありますが、鬼車使用のまま複数行への対応を考えています。
 
取りあえず検索とgrepは確認できましたが、マッチする箇所に問題があります。
 
aaaaaaというテキストに対してaaaで検索した場合に何ヶ所にマッチするかという問題で、私としては4箇所にマッチして欲しかったのですが必死の過去ログ検索により2箇所が仕様という事が分かりました。
 
これに引っかかっていまして、例えば、
a
a
a
a
a
a
に対してa\r\na\r\naで検索すると、上からの検索は2箇所、下からは4箇所マッチします。
これは、下からの複数行検索は「次の検索開始位置はマッチした文字列の終了位置から」という仕様の影響を受けないためですが、それを加味する様な修正も難しい感じです。
 
で、いっそのこと正規表現での検索時は「次の検索開始位置はマッチした文字列の開始位置の次から」に変更してはどうだろうかと思うのですがまずいでしょうか?

2008/7/7 (月) 03:24:59 なすこじ  
Mozilla/4.8 (Macintosh; U; PPC)
[5382] 中途半端ですがパッチ作りました
「正規表現での複数行検索/Grep/置換対応(簡易版)」のパッチを作りました。

ただし、まだ中途半端なので自サイトにアップしています。
ダウンロードページの12
 http://www.geocities.jp/nasukoji_7/download/download_sakuraeditor.html

サクラエディタに対応した正規表現ライブラリの鬼車を用いたまま複数行の検索/Grep/置換に対応します。
複数行つなぎ合わせたバッファを正規表現ライブラリに渡す事で複数行に対応します。
検索/Grep/置換ダイアログにて行数を指定して下さい。
指定可能な行数は1〜9999です。1を指定すると、ほぼ今までどおりの動作となります。
(巨大な数字を指定しても遅くなるだけで意味は殆どありません)

現状できること
・検索
・Grep
・置換(複数行時のすべて置換を除く)


中途半端にできること(動作するが行数指定の方法を提供していないので前回値で動作する)
・正規表現インクリメンタルサーチ
・マクロによる正規表現検索/Grep


できないこと(未設計)
・複数行時のすべて置換
・複数行時の検索文字列のカラーリング


ご意見いただけると幸いです。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.000][st:0.000]