|   |  
こんにちは。ユーザー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 
 
			 | 
		  
	 |