MW211 EXIT

devlog
秀丸エディタ/正規表現における最長一致の原則
2011年09月13日
例えば、「『」と「』」で囲われた文字列を検索(置換)する場合の正規表現は
以下の通り。
┌───┐
│『.*』│
└───┘
「.*」は最強のワイルドカードだ。

でも、これだと「『あ』『い』『う』」を「『ん』」に置換したい場合、
「『ん』『ん』『ん』」としたくとも「『ん』」だけになってしまう。
秀丸エディタの正規表現は、最長一致の原則に則っているからだ。
(「あ』『い』『う」が「.*」とみなされてしまうのだ)

「『ん』『ん』『ん』」としたい場合には、以下を使う。
┌─────┐
│『[^』]+』│
└─────┘
「[^■]」は「否定」なわけだが(「+」は繰り返し)、
見方を変えれば「否定」(の繰り返し)って準ワイルドカードでもあるのだ。
分類:秀丸エディタ