問題タブ [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 パーサーは使用できません。

0 投票する
31 に答える
4215168 参照

regex - 単語を含まない行に一致する正規表現

単語を一致させてから、他のツール(例)を使用して一致を逆にすることが可能であることを私は知っていますgrep -vhedeただし、正規表現を使用して、特定の単語を含まない行を照合することは可能ですか?

入力:

コード:

必要な出力: