問題タブ [pattern-matching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
15256 参照

f# - パターン マッチングとスイッチの説明

switch ステートメントとパターン マッチング (F#) の違いを何人かの人に説明しようとしてきましたが、うまく説明できませんでした..ほとんどの場合、彼らは私を見て「なぜif..then..else だけを使用しないでください。

彼らにどのように説明しますか。

編集!すばらしい回答をありがとうございます。複数の正解をマークできればと思います。

0 投票する
11 に答える
205831 参照

bash - unix/linux シェルでパターン マッチングを行う場合、逆または負のワイルドカードを使用するにはどうすればよいですか?

名前に「Music」という単語が含まれるファイルとフォルダーを除いて、ディレクトリの内容をコピーしたいとします。

これを実現するには、[exclude-matches] の代わりに何を使用する必要がありますか?

0 投票する
10 に答える
31774 参照

python - Python でのリストのパターン マッチング

Python でリストに対してパターン マッチングを実行したいと考えています。たとえば、Haskell では、次のようなことができます。

したがって、リストを渡すと、headが最初の要素にrestなり、末尾の要素になります。

同様に、Python では、タプルを自動的にアンパックできます。

Python のリストで同様のことをしたいと考えています。現在、リストを返す関数と、次のことを行うコードのチャンクがあります。

Python では 2 行ではなく 1 行で何とかできるのではないかと考えました。

0 投票する
2 に答える
38464 参照

pattern-matching - OCaml: 別の式の中で式を一致させますか?

私は現在、OCaml を使用した小さなプロジェクトに取り組んでいます。単純な数式の簡略化。式の中に特定のパターンを見つけて、それらを単純化して、式内の括弧の数を減らすことになっています。これまでのところ、再帰的なパターン マッチングの「フィルター」関数を作成することにした 2 つのルールを除いて、ほとんどのルールを実装できました。実装する必要がある 2 つのルールは次のとおりです。

- a - (b + c) または類似の形式のすべての表現を a - b - c に変換します。

- a / (b * c) または類似の形式のすべての式を a / b / c に変換します。

...これはかなり単純だと思います。1 つを実装できたら、もう 1 つを簡単に実装できます。しかし、再帰的なパターンマッチング機能に問題があります。私の型式はこれです:

そして、私が主に問題を抱えているのは、マッチ式にあります。たとえば、次のようなことを試みています。

ただし、マークされた行の一致式は、「プリンシパル一致」ではなく、以前の「内部一致」の一部として認識されているようで、すべての「Quot(...)」式が認識されることはありません。このような他の一致式の中に一致式を含めることさえ可能ですか? そして、他の可能性とのマッチングを続けることができるように、内側のマッチングを終了する正しい方法は何でしょうか?

ロジックは無視してください。これはほとんど私が最初に思いついたものです。再帰性またはロジックは大歓迎です。

0 投票する
5 に答える
40733 参照

linux - Emacsで角かっこを一致させるコマンドは何ですか?

%Emacsの角かっこを一致させるコマンド(Vimのコマンドと同等)は何ですか?

0 投票する
29 に答える
109315 参照

c# - byte[] 配列パターン検索

byte[] 配列内のバイト パターンを検索/照合し、位置を返す効果的な方法を誰もが知っています。

例えば

0 投票する
2 に答える
15217 参照

pattern-matching - 電子メールが既存のスレッドまたは会話に属​​していることを識別する方法

電子メールから新しいケースを自動的に作成する内部 .NET ケース管理アプリケーションがあります。重複したケースが作成されるのを防ぐために、元のメールに関連する他のメールを特定できるようにしたいと考えています。

すべてではありませんが、多くの電子メールに、便利そうなスレッド インデックス ヘッダーが含まれていることを確認しました。

使用できる簡単なアルゴリズムまたはパッケージを知っている人はいますか?

0 投票する
9 に答える
3992 参照

algorithm - ウェブページの住所を認識するアルゴリズム

HTML ページの構造化データを認識するための最適なアルゴリズムは何ですか?

たとえば、Google は電子メール内の自宅/会社の住所を認識し、この住所への地図を提供します。

0 投票する
7 に答える
5452 参照

java - Java でラベルと値のペアを抽出する正規表現

次のような行をいくつか含むファイルがあります。

そして、ドット、特殊文字 (ñ、ç)、áéíóú... を含む可能性があることを考慮して、正規表現を使用してアドレスを抽出する必要があります。

現在のコードは機能しますが、非常に醜いように見えます:.

編集:住所フィールドは複数の行に分割することもできます

編集: ファイルには他の種類の情報も含まれているため、Properties オブジェクトや YAML パーサーは使用できません。