問題タブ [string-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.
c# - 正規表現が文字列と一致しません
真ん中が変わる可能性のある文字列の最初と最後を一致させるために使用しようとしているコードがあります。私は最初にこの例を機能させようとしています。誰かがこのコードのエラーと、それがまったく一致しない理由を教えてください。
algorithm - 複数列の情報とのファジー レコード マッチング
やや高度な質問があるので、できるだけ具体的にしようと思います。
私は、さまざまなデータ セットを同じエンティティ (通常は会社または金融証券) を参照するヘッダー情報と組み合わせることを含む多くの調査を行っています。このレコードのリンクには、通常、名前が唯一の共通の主要な識別子であるヘッダー情報が含まれますが、いくつかの二次情報 (市と州、操作の日付、相対的なサイズなど) がしばしば利用可能です。これらの一致は通常 1 対多ですが、1 対 1 または多対多の場合もあります。私は通常、手動で、またはクリーンな部分文字列の非常に基本的なテキスト比較を使用して、このマッチングを行ってきました。レーベンシュタイン距離測定のような単純なマッチング アルゴリズムをときどき使用しましたが、それを適用する適切な正式な方法がなかったため、あまり活用できませんでした。
私の推測では、これはかなり一般的な質問であり、この種のことを行うために開発された形式化されたプロセスがいくつかあるに違いありません。与えられたアプローチの理論的妥当性を扱った主題に関する学術論文をいくつか読んだことがありますが、レシピや少なくとも実用的なフレームワークを説明する良い情報源は見つかりませんでした。
私の質問は次のとおりです。
本やウェブサイト、出版された記事や研究論文など、多次元ファジーレコードマッチングを実装するための良い情報源を知っている人はいますか?
私は、実用的な例と明確に定義されたアプローチを備えたものを好む.
このアプローチは反復的であり、中間段階で人間が改善をチェックします。
(編集) リンクされたデータは統計分析に使用されます。そのため、多少のノイズは問題ありませんが、「正しくない一致」が少ないことよりも「正しくない一致」が少ないことを強く好む傾向があります。
それらが Python にあれば素晴らしいことですが、必須ではありません。
最後にもう 1 つ重要な点として、私は計算効率についてはあまり気にしていません。私はこれを動的に実装していません。通常、数千のレコードを扱っています。
algorithm - データ照合アルゴリズム
ノイズ (電磁、無線など) に非常に敏感なデバイスをテストするプロジェクトがあります。デバイスは、与えられた入力 (オーディオ) に基づいて、1 秒あたり 5 ~ 6 バイトのバイナリ データ (訓練されていない人には意味不明に見える) を生成します。
ノイズによっては、デバイスが文字を見落としたり、ランダムな文字を挿入したり、両方の倍数を挿入したりすることがあります。
私は、生成されたエラーをユーザーがその場で確認できるようにするアプリを作成しました (マスター ファイルと比較して [たとえば、デバイスが理想的な状態で出力する必要があるもの])。私のアルゴリズムは基本的に、ライブ データの各バイトを取得し、それを既知のマスター ファイルの同じ位置にあるバイトと比較します。バイトが一致しない場合、現在の位置から両方向に 10 文字のウィンドウがあり、近くで一致するものを探します。それが一致する場合 (および 1 つまたは 2 つの検証)、UI でその場所を視覚的にマークアップし、エラーを登録します。
このアプローチはかなりうまく機能し、実際、着信データの速度を考えると、リアルタイムでも機能します。ただし、私がやっていることは最適ではなく、データがより高速にストリーミングされると、アプローチが崩壊するように感じます.
私が取ることができる他のアプローチはありますか?この種の既知のアルゴリズムはありますか?
何年も前に、NASA のデータ収集装置 (宇宙や月/火星の宇宙船と通信するものなど) は、宇宙での途方もない干渉にもかかわらず、0.00001% のデータ損失があったことを読みました。
何か案は?
ruby - RubyRegexマッチングヘルプ
これは単なる一般的な「私が期待したすべてを引き出していないという私の正規表現の何が問題なのか」という質問です。
これが私の文字列です:
"0900-1600"
と時代を引き出したいと思い"1700-2000"
ます。
これは私の正規表現/([0-9]{4}-[0-9]{4})/
であり、時間の最初の出現を見つけるのにうまく機能しますが、2番目の出現に一致を返しません。誰かが理由を教えてもらえますか?
レコードの実際のコードスニペットは次のとおりです。
postgresql - すべてのテーブルで特定の値を検索する方法 (PostgreSQL)?
PostgreSQL の特定の値について、すべてのテーブルのすべての列を検索することは可能ですか?
同様の質問がOracle についてはこちらにあります。
perl - perl ファイルの読み取りと特定の行の取得
テキスト ファイルがあり、パターンで始まり特定のパターンで終わる特定の行を取得したいと考えています。例:
また、開始パターンと終了パターンを印刷する必要があります。私の最初の試みはあまり成功しませんでした:
よろしくお願いします。
algorithm - Aho-Corasick と適切な部分文字列
aho-corasick 文字列一致アルゴリズムを理解しようとしています。パターンがabcd
とであるとしbc
ます。このような木になります
点線は故障関数を示しています。
ここで、string をフィードするとしますabcd
。これはツリーに従って「abcd」の一致を検出しますが、私が知る限り、一致bc
は報告されません。アルゴリズムを誤解していますか?
php - 配列の値を文字列PHPと照合する
私は小さなプロジェクトに取り組んでいますが、助けが必要です。150,000行のCSVファイルがあります(各行には10列のデータがあります)。fscvreadを使用してファイルを読み取り、ループ中に各行の列の1つ(stringxと呼びます)を10,000語の配列と照合します。stringxに10,000語のいずれかが存在する場合、preg_replaceを使用して削除されます。
これですべて問題ありません。私はすべてうまく機能していますが、問題は遅すぎることです。
配列を一致させるために2つの方法を試しました。1)explode( ""、$ stringx)を使用してstringxを配列に変換してから、array_diff($ array_stringx、$ array_10000);を使用します。2)$array_10000でforeachを使用し、$stringxでpreg_replaceを使用します
方法1は200行のデータを処理するのに約60秒かかり、方法2は60秒で500行をループできます。
これを行うためのより良い方法はありますか?
繰り返しになりますが、私は(基本的に)10,000語の配列を150,000文字列に対して一度に1つずつarray_diffする効率的な方法を探しています。
ヘルプは大歓迎です。
c - ボイヤー・ムーア・アルゴリズムの実装?
CでBoyer-Moore文字列検索アルゴリズムの実例はありますか? いくつかのサイトを見てきましたが、ウィキペディアを含め、かなりバグがあるようです。
ありがとう。
java - java を使用して、文字列内の単語を見つける方法は何ですか?
文字列 str がある場合:a>b
文字列 str に ? があるかどうかを見つける最良の方法は何>
ですか?私は使用します:
delimiter =">"
str.split(delimter)
また
str.contains(">")
または正規表現?実際には正規表現を使用したいのですが、この場合の正規表現の使用方法は?
助けてくれてありがとう