- 359 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 15:16:03.89 ID:5n0ye5v7.net]
- すみません。
自分で書いた正規表現が期待通り動いたのですが理由が分かりません。 どなたか解説お願いします。 Notepad++の置換で、こんなデータに対して <abcde> <hijk> <abc> <XYZ> <dfg> 検索文字列 (?:\s*<([^<>]*)>)?\s*<([^<>]*)> 置換文字列 [$1]\t[$2]\r\n で置換して、結果がこうなりました。 [abcde] [hijk] [abc] [XYZ] [] [dfg] この三行目の動作なんですが、一行に一個しかデータが無い場合には、二番目のデータとしてキャプチャしたかったので この動きで良いのですが、なぜこれが出来たのが分かりません。 検索文字列の一つ目の丸カッコの (?:・・・)? <== この量指定子?がそう言う動作になるのでしょうか? そうだとしたら、なぜそうなるのでしょうか? あるいはもっと簡潔なパターンはありますか? 宜しくお願い致します。
|

|