ベストアンサー c言語 正規表現 2008/07/29 16:42 c言語でCSVファイルに書かれている数字を集計するシステムを作っています。 Excelでは「*」が正規表現ですが、c言語では正規表現はありますか? よろしくお願いします。 みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー valvalval ベストアンサー率57% (105/184) 2008/07/30 09:53 回答No.1 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGIH_jaJP258JP258&q=c%e8%a8%80%e8%aa%9e%e3%80%80%e6%ad%a3%e8%a6%8f%e8%a1%a8%e7%8f%be 何か外部ライブラリが必要みたいです。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアその他(ソフトウェア) 関連するQ&A C言語 正規表現 regex.h 利用できない c言語を用いてCSVファイルの中に書かれている数字を集計するプログラムを作っています。 そこで正規表現(ワイルドカード)を使いたいと思いました。 調べた結果、regex.hのヘッダファイルを読み込むことで、正規表現を使用できる関数があることがわかりました。 しかし、regex.hをダウンロードしたのですがコンパイルエラーが起きてしまいます。 うまくregex.hをダウンロードできていないか、もしくはヘッダファイルを入れる場所がおかしいかだと思います。 もし使われている方がいましたらご教授お願いします。 私が使っているパソコンはwindowsXPです。 C言語のコメントを「正規表現」表すには? C言語のコメントを「正規表現」で表すにはどのようにしたらよいでしょうか? 教えてください。 C#の正規表現 C#の正規表現 こちらのサイトでも質問したんですが、言語がかわったのでふたたび質問させてください。 http://otasuke.goo-net.com/qa6249374.html C#で1行ずつテキストファイルよみこんで、マッチした語句がなんこ含まれてるかしりたいです。 C#はかなり初心者なので、教えてください。 よろしくお願いします。 ASP言語での正規表現の書き方 if instr(hoge,"Android 4.2.2; ")>0 then 上記のifで4.2.2の数字が変わっても拾えるよう正規表現で記述したいです。 どう書けばよいですか? ASP言語で正規表現を使った事が無いので、使用できるのかも判りません。 宜しくお願い致します。 正規表現について いま.Netで正規表現にチャレンジしているのですが、どこが問題なのか分からず、投稿させていただきました。 正規表現のパターンです。 \\[Cc]\[(?<$0>[0-9]+),(?<$1>[0-9]+),(?<$2>[0-9]+)\] で、マッチさせたい文字列は、 \C[255,255,255] です。「[255,255,255]」の数字の部分は、一桁から三桁までの数字であれば何でもOKです。 マッチしないことは、http://jsregex.com/を使って調べました。 どうぞよろしくお願いします。 正規表現での置き換え 正規表現置き換えについて -----入力 ----- a (b) B (C) test.csv file.dat -----出力 ----- b (a) C (B) file.csv test.dat --------------- としたくて以下のコードを書いたのですが 実際の出力が $2 ($1) $2 ($1) $2.csv $1.dat となってしまいます。 --以下ソース %Convert = ( '(.+) \\((.+)\\)', '$2 ($1)' ,'(.+)\\.csv (.+)\\.dat', '$2.csv $1.dat' ); while(<DATA>){ foreach $key ( keys %Convert ){ s/$key/$Convert{$key}/gi; } print; } __DATA__ a (b) B (C) test.csv file.dat C言語 CSVファイルの読み込み C言語でCSVファイルから数字を読み込み、それを計算するというプログラムを作りたいのですが、CSVファイルについて全く知識が無く、加えてCSVファイルを利用したプログラムを作るのが初めての為、勝手がわかりません。 まずCSVファイルというのは、 1.2,2.3,3.4 4.5,5.6,6.7 7.8,8.9,9.0 といった数字(文字列)をカンマで区切ったテキストファイルですよね? それをどのようなプログラムで読み込むのでしょうか? 例えば、上記の数字を読み込み、 a. 1.2+4.5+7.8=x b. 8.9-5.6-2.3=y c. 3.4*6.7*9.0=z と計算する場合のプログラムを教えていただきたいです。 よろしくお願いします。 正規表現について Perlの初心者です。 正規表現の指定方法がよくわかりません。 ディレクトリー内の該当するCSVファイルの抽出をしたいのですが、 "xyz20050105*.csv"に該当するデータすべてを抽出したい。 下記のように、詳細に指定して該当するCSVのファイル名を取得したいのですが、これだとディレクトリー内がすべて表示されてしまいます。 @FTPlist = grep ("$head$year$mon$mday*.csv", readdir(DIR)); どのように指定すればよいのでしょうか? 正規表現について 人名を漢字、平仮名、アルファベットでカンマ区切りでcsvファイルに保存したものがあるとします。 それで例えば、平仮名で一番初めが「あ」の人だけを表示させたいプログラムを書きたいのですがなかなかうまくいきません。 正規表現の使い方もいまいちわかっていなく、とりあえず全て平仮名かどうか調べるプログラムを、 http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%82%B7%82%D7%82%C4%82%D0%82%E7%82%AA%82%C8%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html のサイトからコピーして作成してみたのですが、表示されませんでした。 以下が作成したものです。 <?php $handle = fopen("csv.csv", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); list($kanji,$hiragana,$alphabet) = explode(",", $buffer); if(mb_ereg("^[あ-ん]+$",$hiragana)){ $output .= "$kanji<BR>\n"; } } } fclose($handle); echo $output; ?> もし出来ましたら、先頭が「あ」だけを表示する正規表現の表し方なども教えていただけると助かります。 お願いします。 正規表現入門などを見て、CSVを抽出する正規表現を調べています。 正規表現入門などを見て、CSVを抽出する正規表現を調べています。 ("(?:[^"]|"")*"|[^,]*), (?:^|,)(\"(?:[^\"]+|\"\")*\"|[^,]*) などで、コロンの意味がわかりません。 どなたかわかる方、いらっしゃれば、お願いします。 C言語 C言語で「正規表現」プログラムしたいです。 「[0-9]」や「[a-z]」の検知をどのようにプログラムしたらいいかアドバイスください。 言語ではなく、正規表現のみで複数の条件を記述する方法 ? 一つの条件の正規表現は書けるようになりましたが、 条件が重なった場合の対処の仕方がわかりません。 my $val = "12"; #数字のみ if($val =~ /^[0-9]+$/){ # match! } #0で無い if($val !~ /^0$/){ # match! } # 数字で0でない <---複数条件 ? # 言語でカバーするのではなく、正規表現のみ(1つの正規表現) # でANDやORやXORができるパターンの記述方法が知りたいです。 if($val =~ /^[0-9]+$/) && ($val !~ /^0$/){ # match! } 正規表現 正規表現というのは、どのプログラミング言語においても共通なのでしょうか? 正規表現の質問 お世話になります。 PHPでの正規表現に関する質問です。 使っている教本の中に、次のようなコードがあります。 $files = new FilesystemIterator('.'); $files = new RegexIterator($files, '/\.(?:txt|csv)$/i'); foreach ($files as $file) { echo $file->getRealPath() . '<br>'; } これは、スクリプトと同じフォルダーにあるファイルの中で、.txt と .csv の拡張子のついたものだけを選択して表示するために、正規表現を使っているのですが、この中の ?: という部分の意味が分かりません。いろいろと正規表現に関する記事をネットで調べてみましたが、: コロンをメタ文字として扱っているものは見たことがありません。この ?: の役割を教えてください。お願いします。 ちなみに、これを取り去ってもちゃんと期待通りの結果が出ます。 正規表現を教えて下さい 「2つ目のドット"."までに、1つのドットと8文字以上の数字を含む」という正規表現で悩んでいます。 正規表現が得意な方、ヒントを頂ければ助かります。 正規表現について こんにちは 正規表現を勉強中のものです 数字がカンマで連結された文字列(例:352549,352998,352933,352698,28309)を 調べる為の正規表現がわからなく困っております。 例の数字部分に、数字とカンマ以外が入っていたらfalseを返すようにしたいのですが、 「^[0-9\,]+$」 で対応できるかと思ったのですが、思い通りに行かず困っております。 わかる方がおられましたら、ご教授お願いできますでしょうか。 よろしくお願いいたします。 CSVファイルの中身を操作したいけど何の言語がいいのでしょうか 驚くべきCSVファイルがあります。100MBとか。たぶん、行が何十万行となるんでしょう。エクセルでは開ききれず6万5千行くらいまで開かれて残りは見れませんでした。 このCSVファイルを操作したいのです。CSVファイルはコンマ区切りのファイルですが、例えば 1,1,3 2,2,1 1,1,2 1,2,1 こんな内容だったとして、二番目の数字が2の場合の行のみをコピーして別の新しいCSVファイルが作りたいのです。 こういう操作はどんな言語で可能なのでしょうか。簡単に書けるのでしょうか。 私が持っているもので使える環境があるのは、C言語、MicrosoftのVisual BasicとVisual C++? です。Javaもあったような。 あと、気になってるのはMatlabです。 C言語初心者過ぎてわからないです エクセルのCSVデータなんですが 1行目のデータを 1行目から5行目まで同じデータ 6行目のデータを 6行目から10行目まで同じデータ 10行目のデータを 10行目から15行目まで同じデータ 以上のような作業を繰り返し元のCSVのデータをすべて5行(つまりデータの量は5倍)にしたいのですが C言語でこのような作業を行うファイルをつくるにはC言語ではどのようなプログラムになるでしょうか 正規表現 すいません。もう一度質問します。 C言語で「正規表現」プログラムしたいです。 「[0-9]」や「[a-z]」の検知をどのようにプログラムしたらいいかアドバイスください。 問題は『「.」は任意の文字一文字が存在することを示し、「*」はその前の文字の任意の繰り返し(1回もあり)「[文字-文字]」はその中のいずれかの文字の存在を示す。 これらを用いて「b.c」(argvを用いてキーボード入力)ならb1c、bsc、bah等を、「6*」なら6、66、6666等の存在する行(ファイルをよみこんで)を出力するプログラムをCで書け。』ということです。 なかなか分かりません。 むずかしいです。 正規表現 正規表現を使って、数字、大文字小文字のアルファベット、「”」(ダブルコーテーション)、「、」コンマ以外の記号を、表せる正規表現方法はどうなるのでしょうか? 見当がつきません。 どなたかお願いします。 注目のQ&A 「前置詞」が入った曲といえば? 新幹線で駅弁食べますか? ポテチを毎日3袋ずつ食べています。 優しいモラハラの見抜き方ってあるのか モテる女性の特徴は? 口蓋裂と結婚 らくになりたい 喪女の恋愛、結婚 炭酸水の使い道は キリスト教やユダヤ教は、人殺しは地獄行きですか? カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど