hmjre.dllについてNo.02452
h-tom さん 03/07/28 09:45
 

h-tom です。

hmjre.dllですが、使用できるエスケープシーケンスを増やす予定はあるので
しょうか?
perl、ruby、WHSで使用されているクラスの略記法が使えるようになるといい
のですが。

 \d [0-9]
 \D [^0-9]
 \s [ \f\n\r\t\v]
 \S [^ \f\n\r\t\v]
 \w [A-Za-z0-9_]
 \W [^A-Za-z0-9_]

# \w(\Wも?)はJRE.DLLとの互換性もあるので無理か・・・。

ついでにhmjreのヘルプについて。
「HmJre.dllにおける正規表現」の「繰り返し指定その1」の説明で

   例えばabcを3回繰り返すには、abc{3}と記述します。

となっていますが、これだと"abccc"にヒットしてしまいます。

   例えばabcを3回繰り返すには、(abc){3}と記述します。

ですね。「繰り返し指定その2」も同じです。
それと「繰り返し指定その2」が2つあります。

[ ]
RE:02452 hmjre.dllについてNo.02453
秀まるお さん 03/07/28 13:25
 
> hmjre.dllですが、使用できるエスケープシーケンスを増やす予定はあるので
> しょうか?
> # \w(\Wも?)はJRE.DLLとの互換性もあるので無理か・・・。

 実はその「\w」の関係があるので、あえてそういう拡張は混乱を防ぐためには
やらない方がいいかなぁと思っています。

 「大文字/小文字を区別しない&正規表現」での検索のためにも、大文字/小
文字の区別の違いによるエスケープ文字は少々サポートしづらい(レベルダウン
やマクロの互換性の問題が起きるかも?)という事情もあります。

>    例えばabcを3回繰り返すには、abc{3}と記述します。
>
> となっていますが、これだと"abccc"にヒットしてしまいます。

 すみません。自分で作っていながら自分で理解してませんでした。ご指摘いた
だいた箇所を見直して修正させていただきます。

[ ]
RE:02453 hmjre.dllについてNo.02457
h-tom さん 03/07/28 18:25
 

> 実はその「\w」の関係があるので、あえてそういう拡張は混乱を防ぐためには
>やらない方がいいかなぁと思っています。
そうですか、ちょっと残念です。

> 「大文字/小文字を区別しない&正規表現」での検索のためにも、大文字/小
>文字の区別の違いによるエスケープ文字は少々サポートしづらい(レベルダウン
>やマクロの互換性の問題が起きるかも?)という事情もあります。
了解です。

[ ]
RE:02452 hmjre.dllについてNo.02739
maz さん 03/08/12 12:14
 
いつぞやはPHP拡張の件対応頂きありがとうございます。しっかり動いております。

正規表現拡張に関して要望が上がっているようなのでついでに‥‥(^^;

*や+など、一致条件を「ものぐさ」にするパターンを入れて頂けないでしょうか? 
[*?]など、一致条件の後に[?]マークを付けるパターンです。

'<?= ほげほげ ?>'とかにマッチする条件を強調表示に追加(<\?=.*\?>)しようと思
っているのですが、1行に2回以上上記表現が存在する場合、

'<?= ほげほげ ?> HTMLスクリプト‥‥ <?= ほげほげ ?>'と、2つ以上にまたがって
強調されてしまい、今のところ諦めております(^^;

以上、ご検討頂ければ幸いです。

[ ]
RE:02739 hmjre.dllについてNo.02742
アルビレオ さん 03/08/12 17:01
 
秀丸ユーザーのアルビレオです。

>*や+など、一致条件を「ものぐさ」にするパターンを入れて頂けないでしょうか? 
>[*?]など、一致条件の後に[?]マークを付けるパターンです。

最短一致もあれば便利そうなので一応1票入れておきます。
ただ、大きな変更が必要だったり、速度に影響しないかどうかよくわかりません
が。

>'<?= ほげほげ ?>'とかにマッチする条件を強調表示に追加(<\?=.*\?>)しようと思
>っているのですが、1行に2回以上上記表現が存在する場合、
>
>'<?= ほげほげ ?> HTMLスクリプト‥‥ <?= ほげほげ ?>'と、2つ以上にまたがって
>強調されてしまい、今のところ諦めております(^^;

今のままでも

<\?=[^>]*\?>

とすれば'ほげほげ'に'>'が含まれていない限りは対応できると思います。

[ ]
RE:02742 hmjre.dllについてNo.02752
秀まるお さん 03/08/13 11:57
 
 その「ものぐさに」の意味がいまいち分かってないのでなんですが、つまり、
ヒットする可能性のある文字列のうちの、一番短い物にヒットさせればいいって
ことですよね。

 だとしたら、実はそっちの方が速度的にも速くなるし、難しいこともたぶん無
いと思います。

 ただ、その辺の正規表現の書き方を理解してないので、それを勉強しないとい
けないのがつらいですが…。

 現段階では対応する予定ということで、今のところ他のバグ修正など優先しつ
つ、後ほど対応方法など考えたいと思います。

[ ]
RE:02752 hmjre.dllについてNo.02755
秀まるお さん 03/08/13 15:35
 
 っと言いつつ、今日は会議室が静かなので、対応しました。

 (あんまりテストしてないけど)

 次の秀丸に入る予定です。

[ ]
RE:02755 hmjre.dllについてNo.02757
IKKI さん 03/08/13 16:30
 
IKKI です。

>  っと言いつつ、今日は会議室が静かなので、対応しました。

素晴らしい!
次のβが出たらさっそくテストさせていただきます。

#無意味な書き込みで会議室をうるさくしてしまって申し訳ありません。

[ ]
RE:02752 hmjre.dllについてNo.02764
でるもんた さん 03/08/14 15:54
 
でるもんたです。

>  その「ものぐさに」の意味がいまいち分かってないのでなんですが、つまり、
> ヒットする可能性のある文字列のうちの、一番短い物にヒットさせればいいって
> ことですよね。
>
>  だとしたら、実はそっちの方が速度的にも速くなるし、難しいこともたぶん無
> いと思います。
>
>  ただ、その辺の正規表現の書き方を理解してないので、それを勉強しないとい
> けないのがつらいですが…。

最短一致と最長一致の両方を、というのが maz さんの希望だと思います。



<a href="foo/">foo</a><a href="bar/">bar</a><a href="baz/">baz</a>

という文章があった場合、Perl あたりでは、「<a href=.+>」という正規表現は
最長一致で文章全体にマッチします。「<a href=.+?>」と書くと、この条件を
満たす最短の部分、つまり、<a href="foo/">foo</a> だけにマッチします。

このように、* や + のかわりに *?、+? と書くのが最短一致の記法です。

私としては最長一致も最短一致も、あれば両方とも使う(なければなんらかの
トリックでごまかす)ので、可能なら両方とも実装してほしいです。

[ ]
RE:02755 hmjre.dllについてNo.02770
maz さん 03/08/15 12:26
 
> っと言いつつ、今日は会議室が静かなので、対応しました。
>
> (あんまりテストしてないけど)
>
> 次の秀丸に入る予定です。

おお、ありがとうございます!あと、私の中途半端な要望にフォロー
下さった方々にも感謝です(^^;

[ ]
RE:02453 HmJre.dll のヘルプNo.02771
Iranoan さん 03/08/15 16:50
 
 秀まるおさん今日は、Iranoan です。
> >    例えばabcを3回繰り返すには、abc{3}と記述します。
> >
> > となっていますが、これだと"abccc"にヒットしてしまいます。
>
>  すみません。自分で作っていながら自分で理解してませんでした。ご指摘いた
> だいた箇所を見直して修正させていただきます。
 こちらについてですが、「繰り返し指定その 1 (固定回数)」については修
正がされていますが、「繰り返し指定その2 (n 回以上)」については、
> abcが3回以上繰り返すには、abc{3,}と記述します。
と修正がされていません。

[ ]
RE:02771 HmJre.dll のヘルプNo.02793
秀まるお さん 03/08/19 16:01
 
 毎度いろいろお手数かけます。さっそくヘルプ修正させていただきます。

[ ]
RE:02764 hmjre.dllについてNo.02794
秀まるお さん 03/08/19 16:07
 
 今さらのコメントですが、「?」無しで指定すると、最長一致のつもりで動作
しています。jre32.dllがそうだったのでHmJre.dllもそのようにしました。

 ということでたぶんOKだと思います。次の秀丸β版にて対応される予定なの
で、そのときはよろしくお願いします。

[ ]
RE:02793 HmJre.dll のヘルプNo.02806
Iranoan さん 03/08/19 22:06
 
 秀まるおさん今日は、Iranoan です。
>  毎度いろいろお手数かけます。さっそくヘルプ修正させていただきます。
 有り難うございます。

[ ]