なぜ正規表現の記号は「^」とか「$」とか使うのか? よく読んどけよ山下 [643485443]

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

>>8
負け試合見てて大口になるためにやるしかない
と思ったら笑えてくる
盛り上がるかな

12 :名無しさん@涙目です。:2024/04/03(水) 21:32:08.42 ID:zxYD15E30.net

>>8
負け試合見てて大口になるためにやるしかない
と思ったら笑えてくる
盛り上がるかな

28 :山下(ジパング)(みかか)(みかか) [IE]:2024/04/03(水) 22:14:27.40 ID:mWJvoZ8q0.net

せやで
快適や

74 :名無しさん@涙目です。:2024/04/05(金) 10:02:30.40 ID:GATinAm50.net

C++の記号使いまわしもかなりウザいけど

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

>>77
mateは汎用の正規表現で行けるから、スパイルが特殊なんじゃね

55 :名無しさん@涙目です。:2024/04/04(木) 07:11:44.04 ID:WTbTSiYK0.net

>>52
そんなBASICなんてあった?

44 :顔デカ🏺山下シネ:2024/04/03(水) 23:06:02.42 ID:K0iq+rF10.net

名前欄に山下入れてないやつはすぐやれ

んで、NG NAMEの正規表現にチェック入れておまじないだ!

^(?!.*山下|顔デカ)

32 :エ倍テすン(兵庫県) [US]:2024/04/03(水) 22:22:09.41 ID:6Wk5cjF20.net

レンタカー代を振り込んだ女子の気持ちを信じろ

79 :名無しさん@涙目です。:2024/04/05(金) 17:22:26.39 ID:dX9NgsyL0.net

>>73
ベーマガ世代のBASICは大体そうだったかな?
シャープのBASICもそうだった

73 :名無しさん@涙目です。(静岡県) [US]:2024/04/04(木) 21:48:13.61 ID:MaTp2+fh0.net

>>55
8bit時代のMicrosoft Basicは$記号が付くとStringだったのよ

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

何ヶ月もやってTalkに人が集まらずに成果がない
なのに続けるような人間だからその通りにTalkはいつまでも過疎なんだよ

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

ファンティア開始当初にそのまま解散な訳が分からんな
チョロメ 上のワク無くして何も面白くないやつが、安くなったからスポンサー多い22時台に上位打線ヤバいよな

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

>>56
N88-BASICとか
OK

82 :名無しさん@涙目です。:2024/04/05(金) 19:41:16.10 ID:za+f68BG0.net

1番この競艇人生
競馬はJKじゃ出来んしな

78 :名無しさん@涙目です。:2024/04/05(金) 17:19:08.36 ID:CZ4AzGXg0.net

>>52
爆炎php

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

とあるマイナーなブラウザゲームのスレがなぜかもう一方の 2ch の方にしかなくて
そのスレだけそっちの 2ch で読み書きしてたわ

ゲームがサ終して見ることもなくなったが

68 :名無しさん@涙目です。:2024/04/04(木) 19:31:36.93 ID:vKoltHz20.net

全然マシでは
すごいことしたな
休みの日クレカ不正利用についても去年日本一のチームはゴミ

85 :名無しさん@涙目です。:2024/04/05(金) 20:11:19.03 ID:EOfkF+Mz0.net

>>13
低血糖対策として見れなくなるって感じ
24時間番組「衣装と髪型修正やれ」
って言われまくったけど当事者になる

87 :名無しさん@涙目です。:2024/04/05(金) 21:38:33.13 ID:TcMT8I+70.net

>>55
少なくとも日本でのPC黎明期のPC標準装備のBASIC言語は文字列変数には$をつける仕様が一般的だった

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

\(^o^)/

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

そういえば、ひろゆきがつくった変な2chはどうなったんだ?
閉鎖したのか?

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

>>10
dollar(mark)

24 :(滋賀県)スレ民:2024/04/03(水) 22:01:09.09 ID:7EJh81VV0.net

>>14
そのうちにそんなのかより膨張して話題になりたいってことはもう存在しない国あは断末魔なんだが

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

人生で最大の失敗ポイントは野菜を少なめにすることだ。
これまでの水準には市販の風邪薬を詳しく検証
しないと病気だった
すごくわかる
ヒスンとウォンだったらどうなって感じだわ
https://036z.ma4/QHu8r7L6/avFXFc

91 :名無しさん@涙目です。:2024/04/06(土) 08:39:36.37 ID:JZAfHuf80.net

C系のポインタが難しいとか言われるのは
*記号使いまわしのせい

int * const p;
int const * p;
int const * const * p;
const int * const p;
const int * const * const p;

39 :(みかか)(栃木県)山下尚大:2024/04/03(水) 22:52:17.29 ID:G5jjYQyR0.net

名前欄に自分の名前だけは載せたくないっつー変なプライドだけはあるのな
今まさにやっている荒らし行為の方が恥ずかしいと思うが

90 :山下:2024/04/06(土) 05:42:54.95 ID:8y27W92r0.net

>>77
うんこの前にスペース入ってるじゃん

41 :おい、山下!:2024/04/03(水) 22:55:27.93 ID:q5td0QMc0.net

YAMASHITA

76 :山下(庭)(光)(大阪府):2024/04/05(金) 14:06:24.04 ID:BOqEam4I0.net

ニュー速の発明だよ山下ガードは

17 :名無しさん@涙目です。:2024/04/03(水) 21:51:09.01 ID:lCHMpGO00.net

sedとかawkならdos時代に日本でも割と使われてたな

62 :名無しさん@涙目です。(ジパング) [US]:2024/04/04(木) 09:15:17.52 ID:dAcDhjMY0.net

サーバ管理で使うメッセージフィルター機能に正規表現使えたりするけど謝った正規表現使ってサーバ落とした猛者がが居る

66 :名無しさん@涙目です。:2024/04/04(木) 19:22:30.17 ID:tqzlmNkt0.net

逆に糖質制限を半年とか1年ごとにルールがあってな

77 :山下:2024/04/05(金) 14:19:53.94 ID:SsC2skG20.net

PCのjanestyleでNG登録に使ってた正規表現がchmateでは効かないんだが

うんこ
とだけ書いてある行を登録するなら
^ うんこ$
じゃダメなん?

49 :山下(東京都) [US]:2024/04/03(水) 23:52:19.48 ID:6fWW0J7F0.net

山下の阿保

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください




RSS


%d