- 1 名前:正規表現 mailto:正規表現 [02/12/06 18:09.net]
- 正規表現
- 201 名前:197 mailto:sage [03/05/08 14:22.net]
- マジ? 手元の Perl 5.005_03 だと求めているのになるのだが・・・
- 202 名前:189 mailto:sage [03/05/08 14:28.net]
- >>199
すみませ〜ん。 求めているものになりました。いろんなスクリプト混ざり合ってたので 混乱しました。 (.+)が最長一致するから(.+)でいいってことに気づきませんでした。
- 203 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/08 14:45.net]
- perlの正規表現と日本語文字列との相性の悪さを
実感する問題だったなあ
- 204 名前:192 mailto:sage [03/05/08 14:50.net]
- 本当に全角だったのか。失礼。だとすると、/(/ が EUC の 2 バイト目と
文字に一致するとは限らないので注意。全角文字の 2 バイト目と次の文字の 1 バイト目がそれぞれ \xa1 と [\xca-\xcb] にマッチする場合があるので、 文字列「検便」\b8\a1\xca\xd8 にも「(」がマッチしてしまう。 日本語 EUC の 1 文字 にマッチさせたいなら、厳密には (\x8f?[\xa1-\xfe]{2}|\x8e[\xa1-\xfe]|[\x00-\xff]) にマッチさせなくてはならない。 Perl6 の国際化された正規表現が普及して、こんな知識は不要になって くれれば一番いいのだが…。
- 205 名前:192 mailto:sage [03/05/08 14:56.net]
- この例の場合、最後の括弧の中は全角ひらがなしか入らないから関係ないけどね。
- 206 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/08 15:51.net]
- 5.8ならuse utf-8; use Encode;して適切なエンコード指定でファイル読み込ませれば解決するぞ。
- 207 名前:名無しさん@お腹いっぱい。 [03/05/08 21:50.net]
- 61.210.205.4/
これなんだろ@@@
- 208 名前:名無しさん@お腹いっぱい。 [03/05/08 23:46.net]
- WebP
- 209 名前:rog板の「正規表現道場@2ch Part2」はご存知?
http://pc2.2ch.net/test/read.cgi/php/1038146241/ [] - [ここ壊れてます]
- 210 名前:189 mailto:sage [03/05/09 15:02.net]
- >>206
知ってます。最近、書き込み少ないので、こっちにしました。 あっちでは、以前、いろいろ答えてあげてたんですが。 実は、他のやり方ならいろいろ考え付いたのですが、 s/(.+?)$//; がなぜだめかが知りたくて質問したのでした。 >>195だけがその質問に答えてくれました。そいえば、それも らくだ本で読んだ覚えあったなぁと。しかし、「最短一致がマッ チの先頭部分を後ろにずらしてくれない」という理由ですと、 なぜ、「木立(こだち)のなかに(夏目弱石)」が、「木立」 にならないか、いまだに不明です。($b="abcabc")=~s/b.*?c$//; で$bが'a'になるんだから、そうなってもいいはずですよね。 # でも、3つのスレで「()をエスケープしろ」っていう返事をもらったのにも # びっくり。漏れは、navi2chなので、半角と全角は一目瞭然ですが、IEで見 # てみたら、たしかに女滋養に見えますた。
- 211 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/09 15:32.net]
- 女滋養(;´Д`)ハァハァ
- 212 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/09 17:39.net]
- 生粋のプログラマーなら日常的に半角全角の違いがすぐ分かる環境を望む。
そうじゃない人はあまり気にしないので女痔用に見えても兵器。
- 213 名前:名無しさん@Meadow mailto:sage [03/05/09 17:52.net]
- 女痔用 (´;。;△;。;)キモ!!!!!!!!!!!!!!!
- 214 名前:名無しさん@Meadow mailto:sage [03/05/09 21:33.net]
- >>207
漏れは、navi2chでも迷ったっぞい。
- 215 名前:189=207 mailto:sage [03/05/09 22:20.net]
- >>211
はっきり言っておくんなさい。 たすかに、fontの問題かもすれんですよ。 だかーら、記号類は半角とか全角とか注釈つけとけと… でもって、半角カタカナなんか問題ない時代になったんだなー、と。
- 216 名前:名無しさん@お腹いっぱい。 [03/05/11 04:17.net]
- 半角か全角かをいちいち説明されないと違いの分からないような
素人さんにはそもそも質問なんかされてないんですよ
- 217 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 15:57.net]
- 189が意図的に使い分けてるという保証もなかったわけだが。
- 218 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 16:17.net]
- >>214
はじめから euc と断ってたし、 対象テキストデータとか試しに提示したダメコード片を良く見れば、 意図的に使い分けてることは十分想像できたと思うが。 質問の仕方や内容からも半角全角混同してるようなレベルの質問とは思えなかった。 つうか、>>207 は何をいまだにハマってるんだ? s/(.+?)$//; なら「木立」になるから問題なかろう?
- 219 名前:191=214 mailto:sage [03/05/11 16:20.net]
- >>215
一応そう想定して答えた。
- 220 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 16:40.net]
- >>216
釈迦に説法か。スマソ
- 221 名前:189=207 mailto:sage [03/05/11 18:24.net]
- >>215
いえ、それが、全行出力されちゃうんです。 ちょっと、やってみていただけませんか。(インデントはわざとしません。) --- while(<DATA>) { chomp; s/(.+?)$//; print "$_\n"; } __DATA__ 木立(こだち)のなかに(夏目弱石) 山の上の芋粥(いもがゆ)(芥川蛇の介)
- 222 名前:215 mailto:sage [03/05/11 18:36.net]
- >>218
ん〜、なんないよ (5.005_03) 。 5.6 を試す環境が無いので申し訳ないでつが、Perl のバージョンの問題?
- 223 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 19:16.net]
- >>218
5.6.0 で試したらそのまま出ますた。 これまでの経緯をちゃんと読んでないんだが、 s/([^)]+)$//; じゃダメ?
- 224 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 19:23.net]
- >>220
それだと、 [^)] の部分は [^\xa1\xcb] なのでダメだと思われ。 >>204 の方法だとうまくいくようになるの?
- 225 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 21:08.net]
- >>218
5.8.0だと、191の式でうまくいくんだがなぁ。 while(<DATA>) { chomp; s/([^()]+)$//; print "$_\n"; } __DATA__ 木立(こだち)のなかに(夏目弱石) 山の上の芋粥(いもがゆ)(芥川蛇の介) 木立(こだち)のなかに 山の上の芋粥(いもがゆ)
- 226 名前:189=207 mailto:sage [03/05/11 21:30.net]
- 追試どうもです。
>>219 古いマシンに5.005_03(5.005_03 built for i386-linux)もあったのでやっ てみたら、奇妙なことに。 euc-jp-dos、shift_jis-unix → OK euc-jp-unix、shift_jis-dos → 行全体が出てくる v5.6.0 built for MSWin32-x86-multi-threadおよびv5.6.1 built for cygwin-multiでは、どれでもだめです(行全体が出てくる)。文字コードutf8 にしても同じ。 >>222 こりゃもう5.8にするべきですかね。
- 227 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/11 21:31.net]
- >>222
いやいや、たまたまうまくいっているように見えるだけでしょ。 >>202 さんのを参考にしる。
- 228 名前:195 mailto:sage [03/05/12 09:32.net]
- >>218
s/(.*?.)$//; にしとけ perlのバグだ 暇ならソースのMINMODあたり追いかけて
- 229 名前:189=207 mailto:sage [03/05/12 21:13.net]
- >>225
ありがとん。「。」毎に改行入れようとして、s/(.+?。)//;やってみたが、こ れすらできんかった。結局、perl5.6以上はjperlないから日本語処理を中心に してる場合は、使えないってことかなぁ。もち、~ohzakiさんとこに書いてあ るような注意をしたり、半角文字で置き換えたりすれば使えるげど、面どい。
- 230 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/12 23:01.net]
- >>226
5.8にしてEncodeつかう。
- 231 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/13 02:04.net]
- >>226
> 結局、perl5.6以上はjperlないから日本語処理を中心にしてる場合は、 > 使えないってことかなぁ。 違うっしょ。
- 232 名前:189=207 mailto:sage [03/05/13 07:23.net]
- >>227
やってみまつ。 >>228 じゃ、jperlでできるs/.+?[。!?]/$1\n/g;あたり、どやってやる? めんどいでしょ。
- 233 名前:189=207 mailto:sage [03/05/13 07:24.net]
- あら、s/.+?[。!?]/$&\n/g;だった。
- 234 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/13 11:05.net]
- >>229
あぁ、そういう話か。それはその通りですね。 でも、それは 5.8 の Encode とやらを使うと解決するってことなのでは。 っつーか、漏れは 5.8 動かせる環境無いので確認しようがないんでつが、 誰一人として Encode が一体何者なのか説明しようとしないのは何故?
- 235 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/13 11:39.net]
- >>231
use utf-8; use Encode; my $ENC = 'euc-jp'; # or 'cp932' binmode STDOUT, ":encoding($ENC)"; binmode STDIN, ":encoding($ENC)"; 普通に標準入出力にアクセスすればOK。スクリプト内に日本語書くときはUTF-8で。 っていうかperldoc嫁
- 236 名前:名無しさん@お腹いっぱい。 [03/05/14 01:43.net]
- >>232
perl 5.6 では不可能ということか?
- 237 名前:189=207 mailto:sage [03/05/14 08:50.net]
- >>232
まだ、5.8を試してないんですが、>>232って、euc-jpの端末でeuc-jpのスクリ プト書いて、perlにutf-8で処理させるってことですね。utfサポートは、5.6 からあるので、mule-ucs+bdfフォントで、emacs上でprocess-coding-system (inputもoutputも)もutf-8にして、やってみたけどだめですた。 私が問題にしているのは、[](文字クラス)や+?、*?(最短一致)がマルチバ イトに対応しているかどうかということなのですが・・・
- 238 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/14 10:15.net]
- >>234 5.6時代から既に対応している
- 239 名前:189=207 mailto:sage [03/05/14 10:57.net]
- >>235
[](文字クラス)をテストしてみたけど、だめです。 utf-8で以下のスクリプト実行して見れ。jperlではOKですが・・・ --------- while(<DATA>) { chomp; while (s/.+?[。!?]//) { print "$&\n"; } print; } __DATA__ utf-8で処理させて下さいね。5.6でね。utfサポートは、 5.6からあるけど、このスクリプトだめぽ!>>235は、何が 5.6時代から既に対応しているって言ってんの?変だよ。
- 240 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/14 11:10.net]
- >>236 use utf8; してる?
- 241 名前:189=207 mailto:sage [03/05/14 11:24.net]
- >>237
してなかったっす。 みなさん、ごめんなさ。
- 242 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/14 17:10.net]
- perl 質問スレにするなよ。
- 243 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/15 19:55.net]
- というわけで、これにて終了。
正規表現スレはここまでです。 あれ?
- 244 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/16 01:42.net]
- 単語に「マッチしない」のは
どうやれば? ^\<word\> じゃないし。
- 245 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/16 03:07.net]
- >>241
そりを正規表現(だけ)で実現するのは難しいのでは? 普通は、grep なら -v とか、スクリプト言語なら !~ /word/ とかするんじゃないかと。
- 246 名前:189=207 mailto:sage [03/05/16 08:24.net]
- >>241
perlの拡張正規表現を使えば出来るよ。 /^(?!.*word)/
- 247 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 248 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/24 22:45.net]
- オ来リーの者じゃありませんが・・・
『詳説 正規表現 第2版』 Jeffrey E. F. Friedl 著 田和 勝 訳 2003年5月発行 -- 5月27日発売 464ページ 本体価格5,400円 ISBN4-87311-130-7 テキストやデータの処理に欠かせない強力なツールとして瞬く間 に普及した「正規表現」。現在ではPerl、Java、VB.NETやC#など 数多くの言語やツールに標準で装備されています。その幅広い可 用性、柔軟性と比類ない強力さにもかかわらず、実際に正規表現 を使いこなすことは難しいです。本書は正規表現の概念を詳細に 掘り下げる一方で、数多くの言語やツールの実例を示しながら、 正規表現についての理解を深める解説書です。第2版では、豊富 な実例を使い、詳しくていねいに解説するスタイルはそのままに、 Perl5.8の新機能に加え、Javaと.NETの正規表現にもそれぞれ独 立した章を設けるなど、全編にわたって大幅に加筆がなされまし た。正規表現の本質を読み解く決定版です。とくに正規表現を使 いこなしていると自負している人にほど読んでほしい本です。
- 249 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 00:29.net]
- あれ?今日買ってきたんだけど27日発売だったのね…
- 250 名前:名無しさん@お腹いっぱい。 mailto:age [03/05/25 00:43.net]
- >>246
つーことで発売記念age
- 251 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 03:23.net]
- 素数にマッチする正規表現募集。
- 252 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 03:38.net]
- >>245
第1版と比較してのレビューきぼんぬ
- 253 名前:名無しさん@お腹いっぱい。 mailto:半額きぼんぬ sage [03/05/25 03:44.net]
- >>249
> 2003年5月発行 -- 5月27日発売 とあるからまだ無理なのでは
- 254 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 03:49.net]
- >>248
正規表現だけでなく、なんかしら言語使ってやればよい。
- 255 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 03:56.net]
- >>248
何故敢えて茨の道を行くのか?
- 256 名前:名無しさん@お腹いっぱい。 [03/05/25 05:07.net]
- >>245
これの第1版買ったのですが、いまいち難しかったです。 もっと易しい本ってないですか?
- 257 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/25 05:35.net]
- >>253
Ruby の初・中級者なら、「Ruby Magic―Rubyで極める正規表現」はお勧め。
- 258 名前:245 mailto:sage [03/05/25 10:21.net]
- >>249
第1版を持ってないので比較は出来ないっす。 # 買おうと思ったら第2版が出ることを知ったので待ったのだ。 ここに特徴や目次が紹介されているので見てもらうとして ttp://www.oreilly.co.jp/BOOK/regex2/ ttp://www.oreilly.co.jp/BOOK/regex2/contents.htm まえがきから第1版との違いを判断すると - Unicodeのちょっとした解説 - Perl5.003からPerl5.8対応に - Java1.4のjava.util.regexと、その他6つの正規表現パッケージの比較 - .NET framework正規表現の特徴と問題点、M$のドキュメント(貧弱らしい)の補足 のように言語サポートが新しくなった/増えたって感じ。 最初はHTMLのサンプルを少々追加する程度の予定(3ヶ月の見込み)だったみたいだけど、 結局は2年の歳月をかけて全面的に加筆修正することになったそうだ。 難易度は第1版と変わらないのではないかな? # 読み易くなってるのかもしれないけど。。 >>253の期待には応えられないと思う。 > とくに正規表現を使いこなしていると自負している人にほど読んでほしい本です。 という宣伝文句があるくらいだしね。 >>250 いや、24日に買えたのよ。
- 259 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/27 11:05.net]
- 今日発売か。
昼休みに買ってくるか。
- 260 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/27 21:10.net]
- >>256さん、どうですた?
- 261 名前:249 mailto:sage [03/05/27 21:28.net]
- >>255 さんのと、今日立ち読みした感じで、第2版も購入することにしますた。
そういえば、翻訳者 (監訳者) が変わってたんですね。
- 262 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/27 21:29.net]
- sed のタグ付き正規表現についてちょっと教えれ。たとえば、
{________I'm_dreaming_of_a_White_Christmas_} {_Just_like_the_ones_I_used_to_know__} {____Where_the_tree_tops_glisten_} の前後の余計な _ のトリミングをしようと思って sed 's/{\(_*\)\(.*\)\(_*\)}/{\2}/g' とやっても意図した結果にならない。\2 をうまくマッチさせる方法は? まぁこの例なら簡単に逃げられる - たとえば sed 's/{_*/{/;s/_*}/}/' - わけだが、apache の log とかの簡単なパース(並び替えとかそんな程度)を タグ付き正規表現でさくっと処理できれば楽でうれしい。よろしく。
- 263 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/27 21:38.net]
- 二個目の*がlongest matchしようとして
3個目の*にmatchさせたいであろう_まで持っていってしまうのが原因。 sed -e 's/{_*\(.*[^_]\)_*}/\1/'
- 264 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/28 00:59.net]
- '<,'>s@^@//@
- 265 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/28 01:03.net]
- 最少マッチって perl とか ruby にしかない?
sed, grep 等の伝統的 tool にはないの?
- 266 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/28 01:07.net]
- >>262
ないよ
- 267 名前:名無しさん@お腹いっぱい。 [03/05/28 14:45.net]
- >>262
grepに最小一致の機能があったとして それの魅力はイッタイ何なのだろうか?
- 268 名前:あぼーん mailto:あぼーん [あぼーん.net]
- あぼーん
- 269 名前:262 mailto:sage [03/05/28 20:42.net]
- 確かに sed では使っても grep では使わないかも。
いや、でも後方参照する時に必要なこともありえますね。
- 270 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/29 10:14.net]
- >>257
昼休みにいきつけの書店にいったが売ってなかったんで。 帰りに別の書店で買った。 でもまだ読んでない… 通勤時間に読むっつーてもあれを毎日持ち歩くのは 重たいしなぁ。
- 271 名前:名無しさん@お腹いっぱい。 [03/05/30 21:59.net]
- 文字列中、丸括弧(全角、半角問わず)で閉じられた部分を取り出す表現を考えているけど、うまくマッチしてくれない。
(丸括弧の中に丸括弧は含まない。Perlの正規表現を使用) $string = '(22(1)'; if($string =~ /[((]([^()()]*)[))]/){ print $1; } else{ print "No match.."; } この場合は"1"がマッチするのを期待しているのだけど、なぜか"22"の部分がマッチした。 OS(UNIX/WinXP)、Perlのバージョン(5.0/5.8)の異なる環境で同じことを確認したけど、結果は変わらず。 さらに、文字コード(Shift-JIS/EUC)の違いでも、結果は変わらなかった。 "1"をマッチさせる別の表現はないですかね? # 全角"("の中にどうも半角")"の文字が隠れてるのかなぁ?(あくまでも推測)
- 272 名前:名無しさん@お腹いっぱい。 mailto:sage [03/05/30 22:42.net]
- >>268
おめな、2byte文字と1byte文字が同じに扱われると思ってるらしいな。たぶん、 文系のドキュソだな。しかも、すぐ上で2byte文字コードの話出てたの見てね えな。こいう、初心者質問は、webprogのPerl初心者スレ逝け。
- 273 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/05 14:26.net]
- >>268
Perl5.8.0 + UTF8 でやったら 1 になったよ。
- 274 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/07 12:10.net]
- [ ] のなかに '-' と ']' の両方を入れたい場合はどうすればいいのですか?
- 275 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/07 12:20.net]
- >>271
何で?
- 276 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/07 12:29.net]
- >>271
[]-]
- 277 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/17 23:25.net]
- >>271
!.-[
- 278 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/03 21:13.net]
- 保守
- 279 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/08 11:49.net]
- regexp ml盛り上がってますね。読んでて楽しい。
- 280 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/08 14:02.net]
- このスレはいつからまともな人たちをヲチするようになったのですか?
- 281 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/12 21:26.net]
- すいません、テキストファイルの中の .bananaなどの単語(行頭ではなく)の先頭が
ドットがあるものだけをgrepで抜き出したいのですが、jp.appleのような単語までひっかかって しまい上手く絞り込めません。 アドバイスをお願いします!!
- 282 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/12 21:54.net]
- >>278
\b?\.\w+? で、どうじゃろ?
- 283 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/12 22:44.net]
- >>279
すいません、なんか上手くいかないです。 ls -laでディレクトリ内の全ファイルを表示して、grepで隠しファイルだけを抽出したかったのですが。
- 284 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/12 23:34.net]
- ls -la | grep ' \.'
ではあかんの?
- 285 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/12 23:57.net]
- >>281
行のどこかに"."があれるとヒットしてしまうんです
- 286 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:28.net]
- ls -la | grep '^\.'
こういうこと?
- 287 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:28.net]
- >>282
とはいえ、"."って、ファイル名にしかでてこないよね? >>281 をよーくみる。
- 288 名前:283 mailto:sage [03/07/13 00:30.net]
- 間違えた。
ls -1a | grep '^\.' これか ls -la | grep ' \.' これだな。下は余計なものを拾う可能性もあるが。
- 289 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:31.net]
- ls -d .*
なんてね。
- 290 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 00:32.net]
- あ、正規表現スレだった。すまん。
- 291 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 02:00.net]
- ヤハリココハオモッテタトオリバカバッカリダッタナ(プ
- 292 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 02:57.net]
- ls -la | awk '$9 ~ /^\./{print $0}' はどうよ。
- 293 名前:名無しさん@お腹いっぱい。 [03/07/13 11:30.net]
- >>280 ふつーそういうときは ls つかわず findつかえ。
find ./ -type f -name "\.*" -print
- 294 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/13 14:36.net]
- (())
- 295 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 11:38.net]
- >>290 ふつーそういうときは >> つかわず >> つかえ。
- 296 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 19:04.net]
- backreferenceを前方参照と訳したのはなぜですか?
- 297 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:19.net]
- 後方参照としている訳もあるよ。
まぁ、現在の位置よりも前を参照するという意味では 日本語的には前方参照であってると思う。 ようするに「今いる位置より戻って参照」って意味になるんだから。 んでも、意味を考えて訳すなら「戻って参照」とか、どう?
- 298 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:32.net]
- >>294
ちょっと前にCスレで話題になったんだけど、Cで「前方参照」といった場合の前方って、 ファイルの終端方向を指す。「ひどい訳語だ」ってことで話は終わったんだけど、 正規表現でも混乱が見られるしなんかいい言葉ないもんかねえ。 日本語では時間を表す文脈で「前」にまるで正反対の意味があるからよくないのだと思う。 「以前」だと過去だし「前進」だと未来だし。 あとこれはすれ違いか? そうだよね。すまん。
- 299 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 21:41.net]
- >>279 >>281 >>283 >>284 >>285 >>286 >>287 >>289 >>290
みなさま、ありがとうございます。 シングルクォーテーションに空白が使えたり、 アッパーチルダとハット(キャレット?)の区別を知ったりと、 正規表現の難しさを知りました。 今、「テキストデータ料理学」っていう古い本を読んでいるのですが、 オライリーの正規表現本は買ったほうがいいですか? (もう2〜3週間前にオライリーのサイトでカタログを注文したのに、 まだ来ない…)
- 300 名前:名無しさん@お腹いっぱい。 mailto:sage [03/07/14 22:23.net]
- おれは初版も新しいのも持ってるけど、自分の知識に自信がないうちは
お薦めしない。もちろんあったらあったで便利だけど。 やっぱり、「俺、正規表現バリバリだぜーYAH」状態で買って読んで 目からうろこ落ちまくり感を堪能するのがいいんではないかと。
- 301 名前:名無しさん@お腹いっぱい。 [03/07/14 23:31.net]
- >294
するってえと、正規表現的には日本語で前方参照あるいは後方参照と書いてあったら どっちもbackreferenceと思えってわけだぁね。 >295 計算機分野だと「前方」という言葉はforwardの訳語というのがあたりめえだと思ってたから、 正規表現関係だと、「前方参照」がbackreferenceのことだっていうのがわかんなくて 難儀したってわけよ。
|

|