「-」を「ハイフン」と読みますが、年配の人だと「ハイフォン」と読む人が多いようです。
英語の発音記号を見るとどちらでも正しいようですが、「ハイフォン」だとベトナムの都市を思い浮かべてしまうので、私は「ハイフン」と読んでいます。
正規表現におけるハイフンは「○から○まで」という範囲を指定するときに使えてとても便利ですが、この挙動について勘違いしていたので、調べてみました。JavaScriptです。
「a-b-c」という文字列に対して正規表現「[a-c]」を使ってみます。
x="a-b-c";
y=x.match(/[a-c]/g);
z=y.join(",");
y=x.match(/[a-c]/g);
z=y.join(",");
この場合、結果(z)は「a,b,c」となりました。
同じようにして色々と試してみます。
元 | 正規表現 | 結果 |
---|---|---|
a-b-c | [a-c] | a,b,c |
a-b-c | [a-] | a,-,- |
a-b-c | [-c] | -,-,c |
a-b-c | [a-c-] | a,-,b,-,c |
つまり[○-○]という形で使った場合は「○から○まで」という意味になりますが、これ以外では単に「-」という文字そのものを表すということになるようです。
[a-c]⇒a,b,c
[a-]⇒a,-
[-c]⇒-,c
[a-c-]⇒a,b,c,-
実は、今までハイフン(「-」)を指定するには「\-」としていたのですが、実際は「\」は不要でした。
コメント