★正規表現のパターンにコメント付けるNo.02653
hum2 さん 10/05/17 06:51
 
こんにちは。ユーザーhumです。
正規表現にコメントを付けて、利用したいと考えています。
再現テストのように、同じ正規表現にコメントを付けたら
(?#....)形式は使えて(?#..()..)が使えない理由が分かりません。
調べ方が悪いのかうまく見つけられませんでした。
お教え願えませんでしょうか?


2010/05/17(月)06:42:15 形式を検索、置換したい時の正規表現を

[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-9]{2}:[0-9]{2}:[0-9]{2}

として、再現テスト
1.(?#....)コメントがあっても無くても検索、置換とも、できるパターン。

[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-9]{2}:[0-9]{2}:[0-9]{2}
(?#....)[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-9]{2}:[0-9]{2}:[0
-9]{2}
(?#YYYY/MM/DD W HH:MM:SS)[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-
9]{2}:[0-9]{2}:[0-9]{2}

## 当該正規表現の行頭にカーソルを置いて検索すると、検索ダイアログでは
## 下検索、上検索で検索文字列を強調するので、式は妥当と思えます。

2.検索、置換時の下検索、上検索、(本文のみ)全置換実行時
  「正規表現パターンでのカッコの対応が合ってません。」
  となる。(?#..()..)の様にコメント内にかっこ()が入った
  時には無効コメントとなるようです。

(?#..()..)[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-9]{2}:[0-9]{2}:
[0-9]{2}
(?#YYYY/MM/DD(W)HH:MM:SS)[0-9]{4}\/[0-9]{2}\/[0-9]{2}\([月火水木金土日]\)[0-
9]{2}:[0-9]{2}:[0-9]{2}

2.のように、正規表現にコメントを付けて行頭にカーソルを置いて、
置換しようと思い、置換ダイアログで、下検索、上検索、全置換を行うと、

「正規表現パターンでのカッコの対応が合ってません。」

と、おこられます。
正規表現にコメント付ける時には、(?#..()..)の様にコメント内に
かっこ()が入った時に、おこられるのは何の制約でしょうか?


Windows XP Pro SP3
秀丸メール   Ver.5.39β3
秀丸エディタ Ver.8.01β5

[ ]
RE:02653 ★正規表現のパターンにコメントNo.02654
秀まるお さん 10/05/17 08:36
 
 (?#...)のコメントの中で、さらに括弧が入るというのはまったく考えてませ
んでした。

 今ちょうどHmJre.dllをいじってる所なんですが、次のバージョン(V3.18)か
らは、コメント内での括弧にもうまく対応するようにします。

[ ]
RE:02654 ★正規表現のパターンにコメントNo.02655
hum2 さん 10/05/17 08:42
 
秀まるお様
 お世話になります。
> 今ちょうどHmJre.dllをいじってる所なんですが、次のバージョン
>(V3.18)からは、コメント内での括弧にもうまく対応するようにします。

なるほど、そうでしたか。対応ありがとうございます。

[ ]
RE:02654 ★正規表現のパターンにコメントNo.02663
hum2 さん 10/05/22 00:56
 
秀まるお様
 お世話になります。
>次のバージョン(V3.18)からは、コメント内での括弧
>にもうまく対応するようにします。

いつもながら素早い対応ありがとうございました。
HmJre.dll(V3.18)で修正されているのを確認できました。
修正ありがとうございました。

強調表示を共通の Myorg_ex.hilight として、利用したい
のですがHmJre.dll(V3.18)は、秀丸メールのフォルダ
にコピーして秀丸メールで使っても問題ないでしょうか?

## 少し前から秀丸エディタの強調表示を、秀丸メールで
## 利用できていたのは大変便利でした。正規表現を増や
## し過ぎて、時間がたったものは何のパターンか後から
## 分からず区別できないか考えていたところでした。
## コメントが正規表現の行頭にあるだけで大変整理しや
## すいです。

[ ]
RE:02663 ★正規表現のパターンにコメントNo.02664
秀まるお さん 10/05/22 18:23
 
 V3.18のHmJre.dllは、秀丸メールでも問題なく使えます。

 ただ、rosegardenykさんから報告いただいた、あいまい検索での同一視指定+
単語検索でのバグ修正については、次の秀丸メールβ版を待っていただく必要が
ありまして、単にHmJre.dllだけ新しくしてもだめです。

 それ以外は問題ないです。

[ ]
RE:02654 ★正規表現のパターンにコメントNo.02665
colder さん 10/05/22 18:31
 
> (?#...)のコメントの中で、さらに括弧が入るというのはまったく考えてませ
>んでした。


他の正規表現では、コメント内で括弧は使えないので、このことはヘルプに明記して
おいた方がいいのではないでしょうか。

[ ]
RE:02665 ★正規表現のパターンにコメントNo.02666
秀まるお さん 10/05/24 09:05
 
> 他の正規表現では、コメント内で括弧は使えないので、このことはヘルプに明記して
> おいた方がいいのではないでしょうか。

 そうなんですか。ではそのようにヘルプ記載させていただきます。

[ ]