お世話になります。
よく正規表現で出てくる特殊な文字行頭(^)と行末($)ですが、よくどっちがどっちを意味していたのか忘れてしまいます。
というのも記号自体が何かを連想する形になっていないためです。
例えばエスケープシーケンスならば
「\n」← あぁnewlineだからかな?とか
「\t」なら タブ文字だからかな?
といった具合に、なぜその文字がそうなのかが略称で想像できます。
行頭(^)行末($)の記号には何か意味があるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
^ は、鏃(矢じり:矢の先端につける尖った金属や石器)なので、先頭と覚えました。
^
|
|
|
$
で、矢の形に見えませんか?
投稿2016/01/06 08:53
総合スコア6919
0
ベストアンサー
^は今でこそ発音記号ですが古いASCIIでは↑だったので、この連想は残っているかもしれません。つまりcoco_bauerさんのおっしゃる鏃という覚え方はこじつけでなく古くは正しい意味づけだったと。
$なのですが、情報科学系の本を読んでいると文字列末尾の記号として出てきますので良くある使い方なのかも(「高速文字列解析の世界」、いいですよ。睡眠剤的な意味でも⋯)。とは言え、正規表現で$が行末を意味している方が先でそちらが影響を与えているのかもわかりません。
話は変わるのですが、^, $ を使う機会、そんなにあるでしょうか?
もしかしてですが、\A(文字列頭)、\Z(文字列末)を使うべき状況で^, $のどちらがどちらかに迷ってはおられるのではないかと。
投稿2016/01/06 09:03
総合スコア5570
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/06 15:56

0
私も\A
と\Z
が使えるならそちらを使う方が分かりやすいかと思います。
正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう | 徳丸浩の日記
http://blog.tokumaru.org/2014/03/z.html
あと、あまり参考にはならないと思いますが、
Vimというエディター(古くはVi)では、カーソル移動コマンドに、行頭へ移動は^
、行末へ移動は$
というのがあります。
これは正規表現が先なのか、コマンドが先なのか、寡聞にして存じませんが、それで相互的に記憶が強化されている気がします。
基本的なメタ文字については、他のも含めて丸暗記してしまう方が早い気もしますけどね。
正規表現の入門(1) 基礎的なメタ文字 (1/4):CodeZine(コードジン)
http://codezine.jp/article/detail/3246
投稿2016/01/06 09:15
総合スコア9396
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/06 11:17