- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.net]
- 正規表現
- 30 名前:名無しさん@お腹いっぱい。 [03/02/16 02:34.net]
- 質問よいでしょうか・・・
英辞郎の読み仮名を削除したいのですが、 {(←全角です)ではじまり}(←これも全角です)でおわる文字列を ごっそり置換したいのですが、どう表現すればいいのかよく わかりません・・・・ おしえてくださいおながいします
- 31 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/16 02:48.net]
- >>30
処理系は何?
- 32 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/16 03:05.net]
- >>30
sed "s/{.*}//" < input > output では駄目かい?
- 33 名前:名無しさん@お腹いっぱい。 [03/02/16 06:36.net]
- >>32
その解は1行に複数の対が出てきたときに破綻する
- 34 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/16 12:28.net]
- >>31
入れ子になっていない、かつsedが日本語に対応しているならば s/{[^}]*}// というパターンを使うのが楽。
- 35 名前:30 [03/02/16 13:50.net]
- >>31
Windowsなんですよね・・・xyzzyの置換使おうかと思ってたんですが あ、Pythonも使い方よくわからないけど(汗汗)入ってます # Pythonだとどうかくんですかね?? ダメだったらCygwinでも入れてやってみようと思います。 皆様有難う御座います。
- 36 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/16 14:03.net]
- 秀丸の置換使えば?
- 37 名前:名無しさん@お腹いっぱい。 [03/02/16 14:26.net]
- perlぐらいうごかん?
- 38 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 39 名前:30 mailto:sage [03/02/16 15:35.net]
- >>34さんの方法で問題なく出来ました。
有難う御座いました。とりあえず、この表現の 意味をきちんと理解しとこうと思います。メモメモ・・・ ところで、>>36さん、何故秀丸?
- 40 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 41 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/17 07:44.net]
- BNF使え
- 42 名前:エディタ何617 mailto:sage [03/02/21 16:46.net]
- pc2.2ch.net/test/read.cgi/software/1040201710/641-643
より移行してきますた。 正規表現の話はこっちでしましょ。 俺には大した知識はないんだが。 >642 :名無しさん@お腹いっぱい。 mailto:[sage] :03/02/21 15:28 ID:esOQbptZ >なんのために [:alpha:] のような書式があるのかと子一時間 これは知らんかった。 テキストエディタの粋を脱しそうだが。
- 43 名前:エディタ何617 mailto:sage [03/02/21 16:47.net]
- >643 :名無しさん@お腹いっぱい。 mailto:[sage] :03/02/21 15:31 ID:+tcoIlhs
>>>641 >文字クラスが文字コードに依存するって言うのは恥ずかしいことでしかないと思うんだが。 >どんなコードでも入力が同一なら出力も同一であるべきじゃないの? 後半はよくわからんが、文字クラスが文字コードに依存するのは当然のことだと思うぞ。 文字 a は a というアルファベットという意味があるわけではなく単なるコード(0x61)なわけ。 テキストエディタでは普段から文字コードなんて考える必要はないんだけど、 正規表現では [a-z] とすると Shift-JISなら [\x61-\x7A] EBCDICなら [\x81-\xA9] というふうに変わってくる。 当然文字コードに依存する。 ここで文字コードに依存せずに認識するとなると、EBCDICの場合 [a-z]=[\x81-\x89\x91-\x99\xA2-\xA9] になってしまって本来の [\x81-\xA9] にはならなくなってしまう。 そのために 642 のような [:alpha:] なんかが用意されている。 さもなければ文字コード共通正規表現用文字テーブルなんてものが必要になりかねない。 テキストエディタで扱う文字コードとして EBCDIC を例に出すのは適当ではないが。 エディタがしているのは文字コードを認識して表示するということで、 文字コードを変換しているわけではない。 もちろん明示的に変換(文字コードを変更して保存等)すれば変わる。
- 44 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/21 17:54.net]
- >文字クラスが文字コードに依存するって言うのは恥ずかしいことでしかないと思うんだが。
そりゃ確かに恥ずかしい。 でも [a-z] という表記が「小文字アルファベットの文字クラスを指定している」ものだと誤解して、 誤用しているほうがもっと恥ずかしい。 「-」を使った表記は文字コード上で連続した複数の文字を意味しているだけだから、 本当に文字クラスを指定しなければならないシーンでは [:lower:] や \l を使うべき。 代表的なエンコーディングでは偶然文字コードが連続しているから [a-z] で期待した動作になるので常用されているの。
- 45 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/21 20:46.net]
- [:alpha:] とかってウムラウトがどうたらとかいう話のためにあるのだと思ってた
- 46 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/21 21:22.net]
- unicode などが本格的に使われ出して
多国語があたり前になったら [:Japanese:] とか [:Korean:] とか できるのかな。
- 47 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/21 21:36.net]
- >>45
その通り。 POSIX ではロケールによって変わるよ。
- 48 名前:テキ何618 mailto:sage [03/02/21 23:22.net]
- 興味があるので誘導されてきました。
ってココは関連Linkないので張るね。 ●正規表現最新リンク集2003 ttp://www2.famille.ne.jp/~akio1998/l_grep.html ●正規表現メモ ttp://www.kt.rim.or.jp/~kbk/regex/regex.html で向こうのスレでの疑問で思ってたんですが、 | また正規表現の正しい、正しくないってあるのか? 上の引用についてずばり解決してくれる神はおられませんか? 向こうでも思ってたんだけど中途半端な正規化だから文字コードに 依存するって思ってたんですが。
- 49 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 00:55.net]
- >>44
>本当に文字クラスを指定しなければならないシーンでは > [:lower:] や \l を使うべき。 つーことは[B-Yb-y]は本当に文字クラスを指定せんといかんシーンでは [BCDEFGHIJKLMNOPQRSTUVWXYbcdefghijklmnopqrstuvwxyz] あるいは [^AZaz[:digit:](憶えとらんので略)] と書かねばならんわけか…
- 50 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 01:19.net]
- [:alpha:] とかって、実際に実装されてるのあるの?
- 51 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 01:21.net]
- >>48
ある正規表現が書かれた目的を果たせるかどうかで、正しい正しくないを言うことはで きるでしょう。ただし目的を果たすといっても厳密でなければならない場合やアバウト で大丈夫な場合と様々なレベルがあるわけで、ケースに応じて使い分けるのが大人とい うものです。 それから正規化しているから正規表現というわけじゃないです。ある有限オートマトン が受理する特定の言語(記号列)を正規言語と呼び、その受理される言語の全ての集合を 正規集合と呼び、その集合を表現する方法を正規表現と呼んでいるのです。文字コード 云々が問題になるのは、SJISやEUCのようなマルチバイトコードで表現された1文字を1 つの記号として認識しない正規表現エンジンがあるからで、またエンジンが認識する場 合でも利用者側が記号としての文字と文字コードとの関係を、[a-zA-Z] と [:alpha:] のようにゴッチャにしているからです。もっとも後者についてはマルチバイトには依存 しない話ですけれど。 >>49 厳密にはそういうことになります。メンドイのでそこまでする人は少ないでしょうが。
- 52 名前:エディタ何617 mailto: sage [03/02/22 01:40.net]
- | また正規表現の正しい、正しくないってあるのか?
俺なんかの知識じゃたいしたこと言えないが、現在においては統一的な正しさなんて無いと思う。 ものによって実装が違うから、egrepでは正しくedでは正しくないとかあろうね。 使い手が自分で何をしようとしているのか理解できているかどうかが問題になりそう。 Q「s/[A-z]//g としたら[や^まで消えてしまいました。この正規表現は間違っていますか?」 A「正規表現もパターンマッチの結果も正しいです。ただ、あなたの求めている正規表現ではないでしょう。」 >向こうでも思ってたんだけど中途半端な正規化だから文字コードに >依存するって思ってたんですが。 エディタは文字コードを勝手に認識してくれるからユーザーが考える必要はないけど、 文字クラスで[a-z]とかやる場合はどうしたって文字というより文字コードを扱うってことになる。 ただ、普通は上に書いたように[A-z]なんてやる奴はいないだろうから、 実質的には文字コードに依存していないかのように扱えるというだけだと思う。 ところで [a-z] として、これがどういう意味であって欲しいんでしょうか?
- 53 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 03:42.net]
- [a-z]
"a"の文字コードから"z"の文字コードまでの文字コードの文字のことかな
- 54 名前:テキ何618 mailto:sage [03/02/22 12:14.net]
- >51,52
すまん質問の仕方が悪かった。 上で正規表現の仕様が悪いみたいな雰囲気があったから疑問に おもったんですが、たとえば「grepの仕様は正しいが、awkの仕様は 間違ってる」みたいな正規表現の仕様上の問題で間違いというのが あるのかという疑問でした。 >[a-z] その正規表現で規定されているaのキャラクタからzのキャラクタまで。 文字コードでも文字でもないはずだ。 たとえばProxomitronなら[a-zA-Z]と同じようになるようにキャラクタの 並びが規定されている。
- 55 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 12:19.net]
- 正規表現が実装されているなら
実装の細部がgrepとawkでは異なるというだけで 正しいも正しくないもないんだってば。
- 56 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 14:34.net]
- 全然議論が噛み合ってないなぁ。
「正規表現」(オライリー)の一冊くらい読んでから出直してきて欲しいな。 でなきゃこんなの不毛だよ。
- 57 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 14:50.net]
- >>51
> それから正規化しているから正規表現というわけじゃないです。ある有限オートマトン > が受理する特定の言語(記号列)を正規言語と呼び、その受理される言語の全ての集合を > 正規集合と呼び、その集合を表現する方法を正規表現と呼んでいるのです。文字コード これが理解できません。
- 58 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 15:56.net]
- >>[a-z]
>その正規表現で規定されているaのキャラクタからzのキャラクタまで。 >文字コードでも文字でもないはずだ。 「aのキャラクタからzのキャラクタまで」ってのが文字コードそのものだと思うぞ。 「文字コードでも文字でもない」ってのが [:alpha:] なんじゃないの。 [a-z] だけ特殊な意味合いを持って欲しい、なんてことではないでしょう。 >たとえばProxomitronなら[a-zA-Z]と同じようになるようにキャラクタの >並びが規定されている。 絶対そんな規定されてないよ。 Proxomitronで規定されているのは「大文字小文字を同一視する」ってこと。 だから [a-Z] なんて書いても [a-z] と同等の文字コードの並びとして扱われる。 これは単にProxomitronの性質上、扱う文字列の大文字小文字を区別するより 区別しない方が圧倒的に多いということから独自に規定されたものだろ。 「文字でも文字コードでもない」として扱うためには、エディタ作者なりが 新たな文字の統一コードを規定していろんな文字コードに対応した変換表でも作り、 ユーザーは既存の文字コードの代わりに作者の規定したコードを理解して使うってことになるんじゃないか?
- 59 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/22 17:34.net]
- 形式言語の教科書くらい読んでから来い
- 60 名前:テキ何618 mailto:sage [03/02/22 23:55.net]
- >55
ですよね、最近そういった話を耳にするんで敏感になってました。 きっぱり否定してくださって助かります。 51氏も分かりやすい説明ありがとうございます。 >58 それが正規表現関係の資料をいくら読んでも必ず「aのキャラクタから zのキャラクタまで」だったと記憶してます。 逆にコードで表記されてる資料がありましたら、ご提示願えませんか? # 日本語の資料だとよく文字コードの話もみます。 >「大文字小文字を同一視する」 の実装はどうされているのでしょうか? まさか一度さきに別に小文字を大文字に書き直して正規表現を当ては めてから元の小文字に戻すという芸当はされてないと思います。 私は憶測ですが正規表現上で小文字と大文字を同一文字だと規定し ているように思えます。 # 文字コードレベルだと高とはしご高の関係に近いと思います。 >59 お勧めのありますか?
- 61 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 00:05.net]
- >>6 くらい通読して出直してから議論してくれよ。でなきゃこんなやりとり無駄だよ。
いや、煽りじゃなくてマジでさ。
- 62 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 02:10.net]
- >>6の本って目次だけ見ると各ツールの「実装」について述べてる
みたいだけど、正しい「定義」については載ってるの?
- 63 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 02:15.net]
- 規格としては POSIX 1003.2 があるけど、
正しい定義なんてものはないと思う。
- 64 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 02:50.net]
- >>62
『正しい「定義」』なんてないんだからおまいらの議論は不毛だって言ってんの。 中途半端な知識と思い込みだけの虚しい空論だよ。
- 65 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 03:32.net]
- >>62
たしかに目次には各ツールの実装についての記述が目立つ。 だが、この本のキモは4章と5章だ。 君が正規表現をある程度自在に扱えるのであれば、 この二つの章を読むだけでも価値はある。 とりあえず話はそれからだ、と思うぞ。
- 66 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 06:07.net]
- 文字クラス中の - が文字コードでの連続を表すか文字としての連続を表すかは実装依存です、
で終了。
- 67 名前:62 [03/02/23 14:33.net]
- >>63-65
いや、>>66の言うように実装依存だと思ってたから、 正しい「定義」が載ってるなら、読んどこうかと思ったんですが。 >>61の発言を(それまでの流れと併せて)読むと、さも載ってそうなんですが、 目次見たら(-_-)ぁゃιぃ…だったので。
- 68 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 14:53.net]
- www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap09.html
規格が「正しい」かどうかは別として…
- 69 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 15:30.net]
- 正規表現の定義ねぇ。どうもどこかの団体がきっちりまとめた規格
のような「定義」を期待してるようだが、このあたりのハナシは計算 機科学色が強いから定義など教科書の数だけある、と言ってみるテスツ。 本質はみな同じのはずだけどナ。 しかも見慣れぬ数学記号飛び交う抽象的な議論になるから、 オライリー本で充足しているヤシにはカルチャーショックだろう。 大学の図書館でも逝け。
- 70 名前:61 mailto:sage [03/02/23 18:23.net]
- >>67
> >>61の発言を(それまでの流れと併せて)読むと、さも載ってそうなんですが、 > 目次見たら(-_-)ぁゃιぃ…だったので。 漏れの発言を勝手な解釈すんなよ。 正しい「定義」なんて載ってるわけないだろ。正しい「定義」なんてないんだから。
- 71 名前:61 mailto:sage [03/02/23 18:33.net]
- >>67
ていうかあれだ、「定義」の話じゃなくて「規格」の話をしたいのか? 「定義」の話なら、>>69 の言うように、 計算機科学(の世界だと「正則表現」の方が通りが良いか?)の本でも 紐解いて読んでみるのが良いと思う。 そうでなくて、単に、 文字列バターンマッチに使われる「正規表現」の正しい「規格」の話、 ってことなら、そんなものは無い。 強いて言えば、>>68 くらい。
- 72 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 18:37.net]
- >>67
「定義」=「決め」でしょ。 その場その場で都合のいいように「定義」するわけだから 「正しい『定義』」なんてのはあるわけがない。
- 73 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/23 18:39.net]
- >>67
じゃ、まずは「正しい」の定義から始めようか。
- 74 名前:61 mailto:sage [03/02/23 19:06.net]
- というわけで、このスレは、「ホップクロフト&ウルマンを輪読するスレ」になりますた。
- 75 名前:62 mailto:sage [03/02/24 03:14.net]
- 規格として[a-z]の解釈について正しい定義はあるのか?
っていう議論中に、「コレ読め」と言われたら載ってるように 見えても仕方ないと思うんですがねぇ。 「>>6に載ってないから無い」、とは言えんでしょ。 何の為に読めと言ったのか聞いてよろしい?>>61
- 76 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/24 05:19.net]
- POSIX 1003.2 に厳密に従っていればこれにある通り。
www.linux.or.jp/JM/html/LDP_man-pages/man7/regex.7.html が、世にある実装は大抵そうでない。
- 77 名前:名無しさん@お腹いっぱい。 mailto:sage [03/02/24 18:47.net]
- >>76
見た感じ、EBDICでもロケールが英語なら[a-z]は 英小文字のセットとして評価されるべきみたいですな。
- 78 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/14 03:37.net]
- >>75
全く違う。 そもそも君の話は正しい定義がこの世に存在する事を 前提としている。しかし実際はそのようなものは ないわけだ。(「正しい」の意味が私の考えている ものと違うならわからないが) そのことを理解するために(というか議論のための 基礎知識を得るために)読んでおくべきと 61 は 言いたかったのだと勝手に解釈してみる。 厳密な定義という意味で正しいと言っているなら 計算機科学の教科書をひもといてみるといいかもなあ。
- 79 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/14 09:29.net]
- >75
そんなマヌケな話を避けられるようになるよ、 とそういう意味で勧めてくだすったんだろう。
- 80 名前:75 mailto:sage [03/03/15 03:46.net]
- >>78
>そもそも君の話は正しい定義がこの世に存在する事を前提としている。 シテネーヨ。 つーか著名ツールの実装に関する本を読んだ所で、 [a-z]の解釈は〜という議論に決着つくのですか。 1-60までのスレの流れと、>>61の勧めた>>6の内容を 良く見てから出直して下
- 81 名前:さい。>>78,79 []
- [ここ壊れてます]
- 82 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 08:44.net]
- 取り合えず読んでみる、と言う選択肢は
意図的に無視されているのだろうか…
- 83 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 10:24.net]
- もともと [a-z] なんていう表記は、素な正規表現/正則言語にはない。
でもそれじゃ面倒だから - で繋いだ2つの文字の間の文字群を略記する方法が、 及び実装としては単に文字コードを繋ぐ方法がデファクトスタンダードになった。 それを勘違いしたバカが [a-z] は論理的なアルファベットを意味すべきだとか言い始めて [[:alpha:]] や \l やら \a が導入されるようになったり、変な挙動をする実装もでてきたかもしれん。 でここでPOSIXなんて有名無実なものが定義されたわけだ。 なのにさらにバカが [a-z] の正しい解釈、定義を教えろとかいう。 やれやれだ。
- 84 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 13:23.net]
- ここは62=75の脳内正規表現を研究するスレになりますた。
# 素直に勉強してから出直せばいいのに。。。
- 85 名前:62=75 mailto:sage [03/03/15 22:06.net]
- >>82
やれやれとはこっちが言いたい。 [a-z]の解釈が文字コード依存なのは承知済みだっつーの。 >>61のタイミングで論議を不毛と評しつつ、正規表現の本読めと 言われたら、規格か何かが載ってるとしか思えんでしょうが。 著名ツールの実装見たところで、議論の不毛を悟れますか?
- 86 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 22:43.net]
- 少なくとも読めば実装により異なることは察することができたかもね
- 87 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 22:46.net]
- 規格自体を読みたいなら68にリンクがあるし、なんでそう粘着してるんだろうか
- 88 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 22:51.net]
- なぜに著名ツールの実装しか載っていないと決めつけ
勝手な解釈で話を進めるのだろう? とにかくおかしな前提と曲解が多い上に粘着だ。
- 89 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/15 23:53.net]
- もう放置しようよ……。
- 90 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/16 00:39.net]
- 非放置国家 2ch
- 91 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/17 23:40.net]
- >>87
決め付けてませんが。 >>62で実装以外の内容(具体的に規格など)は 載って無いかと聞いてるんだし。 おかしな前提・曲解・粘着は認めますがね。 で、偉そうに読めとか言った>>61は何処逝ったの?
- 92 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 01:11.net]
- >>90
> で、偉そうに読めとか言った>>61は何処逝ったの? 読んだら出てくるんじゃねーの?
- 93 名前:90 mailto:sage [03/03/18 01:29.net]
- とっくの昔に読んでいるんだが…
(立ち読みでざっとだけど)
- 94 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 01:39.net]
- 形式言語系の本は読んだのかYO!
- 95 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 01:58.net]
- >>92
そんなの読んだうちに入らん。
- 96 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 02:02.net]
- 理屈が通用すると勘違いせず、粘着は放置しましょう
- 97 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 02:15.net]
- 腹が減ってるもんで
こんなのでも食いついてしまうんです。
- 98 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 02:36.net]
- >>90
君が何を知りたいのか、 おじさんわかんなくなっちゃったよ。 ここらでひとまず 疑問点を整理して箇条書きにしてみないか?
- 99 名前:名無しさん@お腹いっぱい。 mailto:sage [03/03/18 22:00.net]
- 技術系の本を立ち読みしただけで読んだ気になれる人には
何を言っても無駄ではなかろうか。
- 100 名前:山崎渉 mailto:(^^) [03/04/17 12:30.net]
- (^^)
- 101 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 102 名前:名無しさん@お腹いっぱい。 mailto:age [03/04/22 15:32.net]
- 『詳説 正規表現 第2版』
ISBN4-87311-130-7 本体価格5,400円 が5月に
- 103 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 104 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/22 23:53.net]
- >>101
おっ。 ソースどこ?
- 105 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/23 00:54.net]
- 定義うんぬんよりも、便利な方がいい。
というわけで、 (?# (?: (?= (?! (?<= (?<! (?> (?()
- 106 名前:名無しさん@お腹いっぱい。 mailto:age [03/04/23 16:36.net]
- >>103
オライリーのメルマガ
- 107 名前:名無しさん@お腹いっぱい。 [03/04/24 11:01.net]
- 正規表現(regular expression)の名前の由来はなに?
regularをなぜ正規と略したんだろう? 「正式にきめられていること。正式の規定」という意味の正規では 幾分意味不明なんじゃないだろうか? むしろregular verb(規則動詞)の意味のregularと捉えるべきで、 「規則表現(法or式)」とでもした方が文字列の規則性を規則的に表現するもの という意味でより素直で的確なんじゃないだろうか。 ここにはnormal distributionを正規分布と略し日本語としては 意味不明にしてしまったのと同様のセンスの無さが感じられる。
- 108 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 11:51.net]
- 「function」を「関数」と訳すアフォといっしょだろ。
- 109 名前:名無しさん@お腹いっぱい。 [03/04/24 11:54.net]
- regular に合うような日本語単語を考えると
正規、正則、規則、規律、規則的、整然、合式、本格的、定常、完全、定例 などが挙げられる。 正規に違和感を感じるのは同意。 ただし、規則だと regular より rule の方を感じる。 regular expression を長々と訳すならばオレテキには 規則正しい表現法 となるが、あとはそれをどのように短くするかだ。 正規表現には違和感あるが 規則表現にはさらに違和感ある。 規則正しい生活を規則生活と省略するのに似ている。
- 110 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 111 名前:名無しさん@お腹いっぱい。 mailto:age [03/04/24 13:46.net]
- わたしは特に違和感ない。
複数の体系の共通項的要素を抽出して、どれをもあつかえる 単一の体系にまとめることをCS的に正規化というでは?
- 112 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 13:57.net]
- 正則表現といわれたほうがシックリするわ。
- 113 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 14:15.net]
- >>107
「函数」が正解、という主張ならそれは翻訳の問題ではなく 日本の戦後国語教育の問題なわけだが
- 114 名前:107 mailto:sage [03/04/24 14:55.net]
- >>112
> 「函数」が正解、という主張なら 違う。
- 115 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 15:38.net]
- >>113
それならそれで108なみ詳細な解説きぼんぬ
- 116 名前:113 mailto:sage [03/04/24 17:11.net]
- >>114
> それならそれで108なみ詳細な解説きぼんぬ どきっ!! い、いやぁ、「function」は普通に訳したら「機能」じゃないかなぁ〜、 なんて思うので。 なんで、「関数」になったのか疑問なので。 やっぱり、かっこいいからかなぁ。
- 117 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 18:10.net]
- 数学方面なら「正則」とするところなのに、情報数学方面では「正規」の方が
定着しているということなのか? >>115 数学で既に訳語があったからという単純な話なんでは。函数→関数の 書き換えはまた別の話だが。古い先生だと「関数」の表記を絶対使わない人 もいるね。自分も函数の方がいいと思う
- 118 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 18:38.net]
- 中国語が英語から「function」という英単語を輸入するとき
それを「函数」と翻訳した。 函は中国語で「ファン」と発音し「function」の「ファン」に似ているところからきている。 そのあと日本は中国から「函数」という言葉を漢字で記述された文字として輸入した。 そして「函」を「カン」と発音した。 戦後の日本の教育において「函」が教育仕様内の標準的漢字から外れるという理由から およそ同義で同音の「関」に置き換えられた。 すなわち「function」の「fun」を元にしてその部分は 以下の経緯で「関」に変わった。 英語の「fun」 ↓発音の類似性から 中国語の「函」(ファン) ↓同じ文字 日本語の「函」(カン) ↓発音の類似性から 日本語の「関」(カン) こういう改変に次ぐ改変で「関数」という言葉が生まれた。 もはや「関数」という言葉にはそう表現する適切な理由がない。 情報系の技術屋なら「function」ないし「ファンクション」 と表現すれば良いのだ。どうしても漢字で書きたければ「機能」で良し。 「関数」だなんていい加減な言葉を使うなら 「class」を「学級」とでも表現してくれた方がまだましと言えよう。
- 119 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 19:37.net]
- 函(はこ)の数と意味も掛けてあるから、やはり捨て難い訳ではある
- 120 名前:名無しさん@お腹いっぱい。 mailto:age [03/04/24 21:06.net]
- >>118
classは「級」でいいはずだけど、「きゅう」ではみじかすぎて わからんからそのまま「くらす」。
- 121 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 23:01.net]
- くらす、きさん!!
- 122 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/24 23:41.net]
- もう「関数」で慣れちゃってるからなぁ。
「機能」と訳したところで 意味がわかりやすくなるわけでもないし。 「正規表現」にしても「関数」にしても おれにとってはある概念に対するラベルでしかない。
- 123 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 00:41.net]
- 「関数」は一つの名詞なので、
一旦覚えてしまえば 「関数」という訳について不自然さは感じにくい。 でも「正規表現」は「正規」と「表現」の複合語であるから、 正規な表現? という意味不明さはいつまでも残る。
- 124 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 00:43.net]
- "regular expression" というからには
regular じゃない expression もあるんでしょうか? たとえばどんなのですか?
- 125 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 08:08.net]
- >>123
fgrepに書く検索パターン
- 126 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 11:26.net]
- >>115
プログラミング用語での function は単なる「機能」ではなく、 数学的な(値を返す) function としてのニュアンスが込められているんじゃ ないのかなあ? 関数型言語ではいうに及ばず、FORTRAN とかでもそんな感じだし、 C だってもともと void 型なんてないし。 # 正規表現と関係ないので sage
- 127 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 11:34.net]
- 「機能」も造語っぽくない?
明治あたりの。
- 128 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 14:00.net]
- 関数が函数の書き換えだと知ったとき、小学校の算数の時間で関数の
説明に「ブラックボックス」という言葉を使っていたのを思い出した。 この書き換えは最悪だと思ったな。 しかし、いくら原語が同じだとしても、関数と機能は日本語としては完全に 別物になってしまっている。function key の function は、やはり「機能」の 意味でないと落ち着かない。 >>122 「正則」は、ほとんど術語としてでしか使われることがないけど、「正規」は 普通の文章でも使われるからね。「正規」と「表現」の結び付きが強くなって しまう。
- 129 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 14:00.net]
- expression にしても、「式」とも訳される場合もあって悩ましいことこの上なし
- 130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/04/25 15:18.net]
- じつは日本語って、語彙が豊富?
まぁ、ほとんど訳語だけど。。。
|

|