なぜ正規表現の記号は「^」とか「$」とか使うのか? よく読んどけよ山下 [643485443]
- 未分類
- 投稿者:vkmw73 | 2024年4月8日
1 :山下(茸):2024/04/03(水) 21:02:28.26 ID:P2iC2NE50●.net ?PLT(16000)
https://img.5ch.net/ico/chibi_c.gif
なぜ正規表現では「^」と「$」という記号を行の先頭・末尾を示す記号として採用したのかという歴史について、ソフトウェアエンジニアのヒレル・ウェイン氏がブログに投稿しました。
正規表現は「文字列の集合を一つの文字列で表現する方法の一つ」で、例えば「/^G.*/」という一つの文字列を使用して「Gから始まる文字列全て」のようにたくさんの文字列の集合を表現できます。そうした正規表現で使用される文字のうち、「^」は行頭に一致し、「$」は行末に一致する文字となっています。
これら2つの文字はQEDテキストエディタのケン・トンプソン氏の移植版で初めて登場しました。オリジナルのQEDエディタには正規表現がなく、「^」は使用されていませんでした。一方「$」はオリジナル版ではバッファ内の最後の行を指すとされていました。トンプソン氏は「$」の意味を調整して正規表現に持ってきたというわけです。
ここでウェイン氏はQEDエディタはなぜ「$」をバッファの終わりとして採用したのかを調べてみたとのこと。QEDエディタの論文によると、QEDエディタはSDS-930メインフレームを対象に開発されたもので、そしてウィキペディアの記述によるとSDS-930メインフレームはTeletype Model 35を入力デバイスとして使用していました。
ウェイン氏は販売パンフレットからTeletype Model 35の写真を入手。この写真をじっくり観察すると、「[]{}¥|^_@‾」などの記号がありません。残りの搭載されている記号の中で、「$」は最も役に立たなさそうです。
「$」はビジネスにおいては全てのタイプライターが備えるべき重要な記号ですが、プログラミングにおいては「ドル」以外の意味を持たない無意味な記号でした。ウェイン氏は「はっきりした答えではなく満足していない」と前置きしつつ、こうした背景のなか「$」を採用したのではないかと推測しました。
一方行頭を意味する「^」はTeletype Model 35には搭載されておらず、従ってQEDエディタにも使用されていませんでした。しかしトンプソン氏のキーボードには「^」が存在していたため、トンプソン氏は「^」を行頭を意味する記号として採用したのではないかとウェイン氏は推測しています。
https://gigazine.net/news/20240402-why-regexes-use-dollar-caret-as-line-anchors/
山下ガード
【名前欄】山下
【NG設定】^(?!.*山下)
35 :山下:2024/04/03(水) 22:45:36.34 ID:/iZg0mZR0.net
11 :(庭):2024/04/03(水) 21:32:07.47 ID:AByHdnwE0.net
12 :名無しさん@涙目です。:2024/04/03(水) 21:32:08.42 ID:zxYD15E30.net
12 :名無しさん@涙目です。:2024/04/03(水) 21:32:08.42 ID:zxYD15E30.net
28 :山下(ジパング)(みかか)(みかか) [IE]:2024/04/03(水) 22:14:27.40 ID:mWJvoZ8q0.net
74 :名無しさん@涙目です。:2024/04/05(金) 10:02:30.40 ID:GATinAm50.net
92 :山下 警備員[Lv.4][苗](日本のどこか) [US]:2024/04/06(土) 16:19:34.48 ID:p/nFHbNj0.net
80 :山下(早池峰山)(茸) [US]:2024/04/05(金) 18:10:45.70 ID:QfT2g/Pp0.net
55 :名無しさん@涙目です。:2024/04/04(木) 07:11:44.04 ID:WTbTSiYK0.net
44 :顔デカ🏺山下シネ:2024/04/03(水) 23:06:02.42 ID:K0iq+rF10.net
32 :エ倍テすン(兵庫県) [US]:2024/04/03(水) 22:22:09.41 ID:6Wk5cjF20.net
79 :名無しさん@涙目です。:2024/04/05(金) 17:22:26.39 ID:dX9NgsyL0.net
73 :名無しさん@涙目です。(静岡県) [US]:2024/04/04(木) 21:48:13.61 ID:MaTp2+fh0.net
50 :名無しさん@涙目です。(兵庫県) [JP]:2024/04/03(水) 23:55:59.38 ID:0SGY7c4S0.net
84 :名無しさん@涙目です。:2024/04/05(金) 19:52:43.16 ID:eSC0nKSQ0.net
37 :山下はやわらか煮豚(光)(やわらか銀行):2024/04/03(水) 22:46:23.89 ID:4YAU/cxE0.net
6 :山下美術館猫(庭)(大阪府):2024/04/03(水) 21:24:11.14 ID:bnpCvAnH0.net
38 :山下(茸):2024/04/03(水) 22:50:17.06 ID:C1IwICzs0.net
89 :名無しさん@涙目です。:2024/04/05(金) 23:29:01.48 ID:GwfrF3yY0.net
10 :名無しさん@涙目です。:2024/04/03(水) 21:29:55.94 ID:vSgnZunc0.net
5 :(SB-Android):2024/04/03(水) 21:13:47.99 ID:5Wb1wv120.net
30 :(埼玉県)うももんねぬ(滋賀県) [RU]:2024/04/03(水) 22:17:09.06 ID:JMoAV3880.net
75 :名無しさん@涙目です。(三重県) [US]:2024/04/05(金) 13:22:09.55 ID:x3F0ku9i0.net
19 :名無しさん@涙目です。:2024/04/03(水) 21:55:39.94 ID:e4rq2Xrk0.net
36 :山下(茸):2024/04/03(水) 22:46:08.10 ID:C1IwICzs0.net
65 :山下(茸):2024/04/04(木) 17:26:54.18 ID:h7kKboxC0.net
40 :名無しさん@涙目です。:2024/04/03(水) 22:52:32.73 ID:N1bt8Gek0.net
59 :納豆狂人(東京都)(庭) [US]:2024/04/04(木) 08:18:01.44 ID:NM5egFTe0.net
82 :名無しさん@涙目です。:2024/04/05(金) 19:41:16.10 ID:za+f68BG0.net
78 :名無しさん@涙目です。:2024/04/05(金) 17:19:08.36 ID:CZ4AzGXg0.net
8 :名無しさん@涙目です。:2024/04/03(水) 21:27:38.96 ID:8TCiyugD0.net
51 :山下(北海道):2024/04/04(木) 05:56:40.29 ID:z+EJED/L0.net
18 :(東京都) おちリ:2024/04/03(水) 21:52:22.52 ID:TX9Hs6TM0.net
71 :名無しさん@涙目です。:2024/04/04(木) 20:44:29.45 ID:1zT1HJyM0.net
45 :名無しさん@涙目です。:2024/04/03(水) 23:12:14.32 ID:xj3T68HI0.net
68 :名無しさん@涙目です。:2024/04/04(木) 19:31:36.93 ID:vKoltHz20.net
85 :名無しさん@涙目です。:2024/04/05(金) 20:11:19.03 ID:EOfkF+Mz0.net
87 :名無しさん@涙目です。:2024/04/05(金) 21:38:33.13 ID:TcMT8I+70.net
63 :山下:2024/04/04(木) 10:06:52.80 ID:/zoPD+V30.net
25 :(みかか):2024/04/03(水) 22:02:40.36 ID:1Ocrb2nA0.net
61 :山下駅(茸) [ニダ](茸) [JP]:2024/04/04(木) 09:10:53.38 ID:qRMZcz8n0.net
13 :名無しさん@涙目です。:2024/04/03(水) 21:33:34.64 ID:8TCiyugD0.net
86 :名無しさん@涙目です。:2024/04/05(金) 21:06:59.69 ID:MxQGCT2p0.net
34 :(埼玉県)も配ろ賠媒👻(埼玉県) [TW]:2024/04/03(水) 22:28:42.47 ID:RuyTRCGD0.net
2 :山下:2024/04/03(水) 21:03:46.89 ID:fxDT0FM60.net
3 :名無しさん@涙目です。:2024/04/03(水) 21:08:39.79 ID:gf4d8i7F0.net
81 :名無しさん@涙目です。:2024/04/05(金) 19:32:38.28 ID:MqEpqWl80.net
42 :名無しさん@涙目です。:2024/04/03(水) 22:59:21.18 ID:l6yu6JIA0.net
67 :名無しさん@涙目です。:2024/04/04(木) 19:28:20.89 ID:PXjWPk1B0.net
64 :(Garden):2024/04/04(木) 10:45:08.98 ID:jsxaV4//0.net
69 :名無しさん@涙目です。:2024/04/04(木) 19:34:14.94 ID:KSY9nTZ50.net
24 :(滋賀県)スレ民:2024/04/03(水) 22:01:09.09 ID:7EJh81VV0.net
26 :(やわらか銀行) (みかか)山下:2024/04/03(水) 22:06:52.01 ID:/uOXlAqG0.net
23 :名無しさん@涙目です。:2024/04/03(水) 21:58:22.31 ID:o70CILkI0.net
46 :おじゃま山下(和歌山県):2024/04/03(水) 23:25:44.38 ID:qw+irHrL0.net
70 :名無しさん@涙目です。:2024/04/04(木) 19:58:09.40 ID:xvyaiCsH0.net
48 :山下(茸)(茸) [US]:2024/04/03(水) 23:48:08.97 ID:wENMK1/s0.net
31 :名無しさん@涙目です。(茨城県) [IT]:2024/04/03(水) 22:19:48.97 ID:t9ee/ZJX0.net
15 :山下公園(みかか):2024/04/03(水) 21:35:33.06 ID:Q9wyPM2Z0.net
22 :(大阪府)スレ民:2024/04/03(水) 21:56:06.03 ID:uDQHCPZ60.net
91 :名無しさん@涙目です。:2024/04/06(土) 08:39:36.37 ID:JZAfHuf80.net
39 :(みかか)(栃木県)山下尚大:2024/04/03(水) 22:52:17.29 ID:G5jjYQyR0.net
90 :山下:2024/04/06(土) 05:42:54.95 ID:8y27W92r0.net
41 :おい、山下!:2024/04/03(水) 22:55:27.93 ID:q5td0QMc0.net
76 :山下(庭)(光)(大阪府):2024/04/05(金) 14:06:24.04 ID:BOqEam4I0.net
17 :名無しさん@涙目です。:2024/04/03(水) 21:51:09.01 ID:lCHMpGO00.net
62 :名無しさん@涙目です。(ジパング) [US]:2024/04/04(木) 09:15:17.52 ID:dAcDhjMY0.net
66 :名無しさん@涙目です。:2024/04/04(木) 19:22:30.17 ID:tqzlmNkt0.net
77 :山下:2024/04/05(金) 14:19:53.94 ID:SsC2skG20.net
49 :山下(東京都) [US]:2024/04/03(水) 23:52:19.48 ID:6fWW0J7F0.net
コメントする