-PR-
締切り
済み

パタ-ンマッチング?

  • すぐに回答を!
  • 質問No.12569
  • 閲覧数243
  • ありがとう数15
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 26% (10/38)

C言語のパタ-ンマッチングが何ですか.
プログラムを作る方法.
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 37% (570/1525)

この質問では何が何だかわかりません。 C言語でパターンマッチングを行う方法を知りたいとは思うのですが…。 文字列ですか?グラフィックですか?意味ですか? 検索対象配列はアレイですか?ランですか? 文字列と仮定しても正規表現によるワイルドカード検索ですか?ワイド文字を含みますか? ひょっとしてregcom()とregexの使い方かな? 補足お願いします。 ...続きを読む
この質問では何が何だかわかりません。
C言語でパターンマッチングを行う方法を知りたいとは思うのですが…。

文字列ですか?グラフィックですか?意味ですか?
検索対象配列はアレイですか?ランですか?

文字列と仮定しても正規表現によるワイルドカード検索ですか?ワイド文字を含みますか?

ひょっとしてregcom()とregexの使い方かな?

補足お願いします。
補足コメント
nunu

お礼率 26% (10/38)

検索対象配列はアレイです.
例えば,長いテキストがあって,そのテキストの中にある
言葉(パタ-ン)が探したいとき,何行目,何文字目を
知りたい時,C言語でプログラムを作りたいのです.
EX:
TEXT:I am Nunu,
     I like to study C.
 But I dont know well
パタ-ン:to

%a.out
?to? is 3 char 2 line.
投稿日時 - 2000-11-09 18:13:59


  • 回答No.2
レベル13

ベストアンサー率 37% (570/1525)

行の概念があるということは、行をまたぐ場合は除外ですね。 また、日本語などのマルチバイト文字は考慮していません。 一番単純な方法としては「行をカウントしながらforループしてstrbrk()で探す」という方法ですね。 strchr()やstrstr()でも探せますがこれらはアドレスを返すので“○文字目”にするにはアドレス計算が必要。 strbrk()は“先頭から○バイト目”で返ってきます。 ...続きを読む
行の概念があるということは、行をまたぐ場合は除外ですね。
また、日本語などのマルチバイト文字は考慮していません。

一番単純な方法としては「行をカウントしながらforループしてstrbrk()で探す」という方法ですね。
strchr()やstrstr()でも探せますがこれらはアドレスを返すので“○文字目”にするにはアドレス計算が必要。
strbrk()は“先頭から○バイト目”で返ってきます。

a.outで実行ということはunix系だと思われます。
詳細はman 3 strbrkで調べてください。

バッカス法などの高速線形検索が必要ならアルゴリズムの本を見てください。
ここで説明できるほど簡単ではありません。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ