0

私はエンジニアリングの学生で、複数の設計分野を一気に学べるように何かを作成しようとしています。基本的に、私のプロジェクトは、ワイヤレスで通信する家中のインターコム システムに取り組んでいます。ある種の音声処理を行って、Siri のようにテキストを解析できるかどうかを確認し、話すことで関数を呼び出せるようにすることになるかもしれません。これは、かなりの期間、解析するテキストの一定のストリームを保持できる可能性があることを意味します。

私の質問にはいくつかの部分があります。

1)正規表現は、テキストを解析し、システムに入力されたテキストに必要なコマンドと一致させるためのルートであると思いますか?そうでない場合は、別の方向に向けてください!

2) Perl が標準であるように思われることは理解していますが、実行中のバックグラウンド アプリケーションは C++ または C# で記述されるため、これらの言語のいずれかで正規表現メソッドを使用することをお勧めします。

- Regex++ またはhttp://www.pcre.org/があるようですが、どちらでも十分ですか、それとも Perl を使用する必要がありますか?

私が最も求めているのはスピードです。何も言わずに、戻ってくるまで長い間待たなければなりません。他のほとんどの人と同じように、スピードが重要です。ここで同様の質問をする別の質問が表示されますが、実際にベンチマークをリストしている人はいません。私のアプリケーションでは、コードをできるだけシンプルに保つと仮定すると、regex++ は十分に高速でしょうか?

ありがとう!

4

2 に答える 2

3

正規表現は実装上の決定です。現時点では、実装の決定から何マイルも離れています。

どのような種類のハードウェアを実行しますか? ハードウェアは選択した言語をサポートしますか? (たとえば、C# は Windows 以外でのサポートが非常に限られています)

正規表現ほど複雑なものは必要ないことがわかるかもしれません。

以下のOPのコメントに基づくフォローアップ:

あなたのコメントが行っていることは、システムの要件の一部を収集し始めていることです。

  • テキストベースのコマンド
  • WindowsおよびOSXで実行可能
  • プラットフォームは「回路」と通信できる必要があります
    • 必要な特定のプロトコルはありますか?

元の質問に関連するここでの最大の要件は、「テキストベースのコマンド」です。これらは、上記の水田のコメントのような 1 語のコマンドまたは文ですか?

于 2012-08-02T00:10:42.717 に答える
0

Perl 正規表現は、確かに最も高度な正規表現エンジンです。しかし、その力が本当に必要かどうかという問題があります。おそらくそうではありません。

最初にを考えるかをお勧めします。クラス図、ソフトウェア アーキテクチャ、アルゴリズムなど。簡単な実装/プロトタイプを作成する場合は、Python (Windows のような美しい言語、完全にオブジェクト指向で、遅くない) またはPerl (神の力はあなたにあります) を使用します。できないことは何もない. モジュールはすでにほとんど何にでも利用できる. しかし、Perl のプログラミングは、理由から「ハッキング」と呼ばれ、Windows ではうまく機能しますが、* のように楽しくはありません. nix) または他のファンシーなスクリプト言語。

プロファイリングを行った後、C/C++ でパフォーマンス クリティカルまたはシステム レベルのものを書き直すことを検討してください。Perl には優れた言語バインディングがあります。C/C++ inlineを書くことができます。正規表現マッチングは重要な部分ではありません。

.NET を捨てて Mono フレームワークに移行しない限り、C# はあまり移植性がありません。

于 2012-08-02T00:31:23.423 に答える