正規表現の $ についてNo.02935
Arimac さん 99/04/14 20:43
 
FAQかも知れませんが(^^;

正規表現の $ は行末にマッチするということになっていますが、
秀丸では $ だけでは行末にはマッチしてくれません(^^;

^ の方は ^ だけで行頭にマッチします。

確か本家Unixでは $ だけで行末にマッチしたような気が
します(^^;

JRE32.DLLの問題のような気もしますが、秀丸での判断で解決
出来るようなら対応した方が良いような気がします。

$ の代わりに \n を代用する事が出来ますが、\n を使うと
遅いですし・・・

[ ]
RE:02935 正規表現の $ についてNo.02937
ひろ さん 99/04/15 11:48
 
 Arimacさん今日は、ひろです。
> 秀丸では $ だけでは行末にはマッチしてくれません(^^;
 確かに「^」の場合は単独で match して、「$」は単独では match しない
というのは変な感じがしますね(^^)。また置換の場合、「\n」を用いると確
かに遅くなります。

 私も「$」単独で match して欲しいですが、取り敢えず置換をする場合、
Ver.3.0 で追加された tag 付き正規表現を使って、
 検索文字列:「.\f$」
 置換文字列:「\0%CHAR%」
とされては如何でしょう。(ここでは %CHAR% は行末に追加する文字列を表す。)

[ ]
RE:02937 正規表現の $ についてNo.02940
Arimac さん 99/04/15 20:40
 
今日はひろさん(^^;

>> 秀丸では $ だけでは行末にはマッチしてくれません(^^;
> 確かに「^」の場合は単独で match して、「$」は単独では match しない
>というのは変な感じがしますね(^^)。また置換の場合、「\n」を用いると確
>かに遅くなります。

マイナーなソフトならともかく、これだけメジャーになったソフト
ですから、正式な正規表現を実装して欲しいですね(^^;
JRE32.DLLはフリーソフトだからその機能についてどうこうは
言えないというのは確かですが、正規表現が使えるというのは
秀丸の1つの売りでもあると思うわけでJRE32.DLLで出来ないので
あればJRE32.DLLを使わずに秀丸本体でやっても良いのでは
ないかと思うところです(^^;

> 私も「$」単独で match して欲しいですが、取り敢えず置換をする場合、
>Ver.3.0 で追加された tag 付き正規表現を使って、
> 検索文字列:「.\f$」
> 置換文字列:「\0%CHAR%」
>とされては如何でしょう。(ここでは %CHAR% は行末に追加する文字列を表す。)

対応としてはそういう発想もありますね(^^;
検索文字列は「.*」の方が良いかもしれない(^^;

[ ]
RE:02940 正規表現の $ についてNo.02941
EMiCC さん 99/04/15 22:06
 
こん××は、Arimacさん

>JRE32.DLLはフリーソフトだからその機能についてどうこうは
>言えないというのは確かですが、正規表現が使えるというのは
>秀丸の1つの売りでもあると思うわけでJRE32.DLLで出来ないので
>あればJRE32.DLLを使わずに秀丸本体でやっても良いのでは
>ないかと思うところです(^^;

でも、将来の( JRE32.DLL & 秀丸の )機能拡張やバグ対処など
のことを考えると、正規表現の処理は1ヶ所( JRE32.DLL )に
まとめておかないと悲惨なことになりそうです。 (^_^;
ということで、みんなで JRE32.DLL の作者(山田さん)に要望を
出しましょう。 φ(^_^)

[ ]
RE:02935 正規表現の $ についてNo.02950
秀丸担当 さん 99/04/16 17:14
 
>正規表現の $ は行末にマッチするということになっていますが、
>秀丸では $ だけでは行末にはマッチしてくれません(^^;

たしかに、前からそうなっています。
検討しておきます。

[ ]
RE:02950 正規表現の $ についてNo.02958
Arimac さん 99/04/16 20:56
 
>>正規表現の $ は行末にマッチするということになっていますが、
>>秀丸では $ だけでは行末にはマッチしてくれません(^^;
>
>たしかに、前からそうなっています。
>検討しておきます。

有り難うございます<(_ _)>

フリーの正規表現のライブラリをちょっとだけ探して
みたのですが、Unix並みの機能を持っているのは
見つかりませんでした。

結局やっていることはメモリーの中から与えられた
パターンのテキストを探しているだけなので
自分で作ろうかなぁと思ったりもしていますが
何かと休みを潰されたり気が乗らなかったり
全然進みません(^^;

[ ]
RE:02958 正規表現の $ についてNo.02961
える さん 99/04/16 22:58
 
>フリーの正規表現のライブラリをちょっとだけ探して
>みたのですが、Unix並みの機能を持っているのは
>見つかりませんでした。

ちょっと前にここで書いてますが、perl5 互換の bregexp.dll が FREE です。
jre32.dll という名前の bregexp.dll の wrapper 作ったら秀丸から使えるようにな
るかなー?
# って、jre32.dll の作者様には失礼だが。

逆に、hideregx.dll とかをかませて、そいつの設定で jre32.dll や perl.dll、bre
gexp.dll などが呼び出せるようになれば正規表現の幅や機能が充実して良いかと思
うのですが。

[ ]
RE:02961 正規表現の $ についてNo.02967
Arimac さん 99/04/17 20:48
 
>>フリーの正規表現のライブラリをちょっとだけ探して
>>みたのですが、Unix並みの機能を持っているのは
>>見つかりませんでした。
>
>ちょっと前にここで書いてますが、perl5 互換の bregexp.dll が FREE です。
>jre32.dll という名前の bregexp.dll の wrapper 作ったら秀丸から使えるようにな
>るかなー?
># って、jre32.dll の作者様には失礼だが。
>
>逆に、hideregx.dll とかをかませて、そいつの設定で jre32.dll や perl.dll、bre
>gexp.dll などが呼び出せるようになれば正規表現の幅や機能が充実して良いかと思
>うのですが。

賛成、賛成(^^;
フリーとは言えどjre32.dllのインターフェィスって
公開されてないですからね(^^;
互換dll作るから教えてとは言えないし・・・(^^;

[ ]
RE:02958 正規表現の $ についてNo.02973
ひろ さん 99/04/18 11:49
 
 Arimacさん今日は、ひろです。
> みたのですが、Unix並みの機能を持っているのは
 使用目的や、何を指して UNIX 並みと仰っているのか不明なんですが(^^)、
sed や awk の DLL はありますよ (秀丸から使えるわけではありませんが(^^;)。

 Vector で検索したら、以下の様な物がありました。
http://www.vector.co.jp/soft/win95/util/se028215.html
http://www.vector.co.jp/soft/win95/util/se028214.html

[ ]
RE:02967 正規表現の $ についてNo.02974
ひろ さん 99/04/18 11:49
 
 Arimacさん今日は、ひろです。
> フリーとは言えどjre32.dllのインターフェィスって
> 公開されてないですからね(^^;
 API 等は http://www.yamada-labs.com/software/spec/jre/index.htm
公開されていますがダメでしょうか?

 ## tag 付き正規表現は可能になったから、あとは group 否定が出来れば
なあ〜。

[ ]
RE:02974 正規表現の $ についてNo.02975
Arimac さん 99/04/18 13:00
 
> Arimacさん今日は、ひろです。
>> フリーとは言えどjre32.dllのインターフェィスって
>> 公開されてないですからね(^^;
> API 等は <a href="http://www.yamada-labs.com/software/spec/jre/index.htm">http://www.yamada-labs.com/software/spec/jre/index.htm</a> で
>公開されていますがダメでしょうか?
>
> ## tag 付き正規表現は可能になったから、あとは group 否定が出来れば
>なあ〜。

情報が揃っちゃいましたね(^^;;;;

## Unix並というのはどんなUnixでも標準的に持っているed,grep,sed
## で使える正規表現と言う意味です(^^;
## パターンの積やパターンの否定は実装されないんでしょうかねぇ(^^;

[ ]