問題タブ [sequencematcher]

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 投票する
3 に答える
914 参照

python - ドキュメントがPythonと異なる場所を特定する

私はPythondifflibライブラリを使用して、2つのドキュメントが異なる場所を見つけています。Differ()。compare()メソッドはこれを実行しますが、非常に低速です。大きなHTMLドキュメントの場合、diffコマンドと比較して少なくとも100倍遅くなります。

Pythonで2つのドキュメントがどこで異なるかを効率的に判断するにはどうすればよいですか?(理想的には、SequenceMatcher()。get_opcodes()が返す実際のテキストではなく、位置の後にあります。)

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

python - 2つだけでなく複数の入力用のSequenceMatcher?

この特定の問題に取り組むための最良の方法と、ライブラリがあるかどうか疑問に思っています(Pythonが望ましいですが、必要に応じて柔軟に対応できます)。

各行に文字列が含まれるファイルがあります。各行で最も長い一般的なパターンとその位置を見つけたいと思います。SequenceMatcherを使用して、1行目と2行目、1行目と3行目などを比較し、結果を相関させることができることは知っていますが、すでにそれを行っているものがある場合はどうでしょうか。

理想的には、これらの一致は各行のどこにでも表示されますが、初心者の場合は、各行の同じオフセットに存在し、そこから進んでいくことができます。文字列テーブルにアクセスするための優れたAPIを備えた圧縮ライブラリのようなものが理想的かもしれませんが、その説明に適合するものは今のところ見つかりません。

たとえば、次の行を使用します。

同じ位置にあるすべての行で0-1と10-12が一致し、line1[4,5]がline2[5,6]と一致してline3[7,8]と一致することを確認したいと思います。

ありがとう、

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

python - SequenceMatcher:一致しないものを一度だけ記録しますか?

私はSequenceMatcherテキストのグループ内の単語のセットを見つけるために使用しています。私が抱えている問題は、一致するものが見つからない場合に記録する必要があるということですが、テキストごとに1回です。ifステートメントを試してみると、別の単語との比較が失敗するたびに結果が得られます。

私も試しre.matchましre.findたが、同じ問題が発生しました。上記のコードは、私が行っていることの単純なバージョンです。私もPythonを初めて使用します。どうもありがとうございます!

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

python - difflibのSequenceMatcherに「ジャンク」文字を無視させる

類似性のために一致させたい文字列がたくさんあります(各文字列は平均30文字です)。difflib's SequenceMatcherシンプルで結果が良かったので、このタスクには最適でした。しかし、私がこれを比較hellboyしてhell-boy好きなら

私はそのような言葉が100パーセント一致することを望みますratio of 1.0。上記の関数で指定されたジャンク文字は比較には使用されませんが、最も長い連続した一致するサブシーケンスを見つけるために使用されることを理解しています。比較のためにいくつかの「ジャンク」文字を無視する方法はありSequenceMatcherますか?

0 投票する
1 に答える
821 参照

python - Python: difflib で SequenceMatcher を渡すと、「autojunk=False」フラグがエラーになる

Python の difflib パッケージの SequenceMatcher メソッドを使用して、文字列の類似性を識別しようとしています。しかし、私はこのメソッドで奇妙な動作を経験しました。私の問題は、パッケージの「ジャンク」フィルターに関連している可能性があると思います。この問題については、こちらで詳しく説明しています。difflib のドキュメントで説明されている方法で、autojunk フラグを SequenceMatcher に渡すことで問題を解決できると思ったと言えば十分です。

しかし、これにより次のエラー メッセージが表示されます。

autojunk=False フラグを SequenceMatcher に渡す方法を知っている人はいますか? 他の人が提供できる提案に感謝します。

0 投票する
1 に答える
293 参照

python - メソッド set_seq1 および set_seq2 の動作、difflib python

difflib のドキュメントを確認しましたが、difflib.SequenceMatcher.ratio()実際の動作について混乱しています。このことを考慮 :

私はs = 0.9411764705882353
それがどのように正確に計算されるか知りたいと思っていました. 2つの文字列は、1つの文字列と他の文字列の偏差を実際に調べることで比較されます。2つの文字列abの場合、ドキュメントは次のように述べて います。

差分は、「'a' を 'b' に変更するために何をする必要があるか?」として計算されます。

そして、次のようなものがあります:

b 内の x の場合、b2j[x] は x が現れる (b 内の) インデックスのリストです。ジャンク要素が出てこない

上記のs の例について説明してください。

0 投票する
1 に答える
435 参照

python - difflib.SequenceMatcher が一意の比率を返さない

2 つのストリート ネットワークを比較しようとしていますが、このコードを実行すると、.253529 の比率が返されます。一致しないストリートをクエリできるように、各行を比較して一意の値を取得する必要があります。行ごとに一意の比率値を返すにはどうすればよいですか?

# CalculateField の実行 arcpy.CalculateField_management(inFeatures, fieldName, expression, "PYTHON_9.3")

0 投票する
1 に答える
48 参照

python - 翻訳された名前が同等かどうかをプログラムで判断する

2 つの翻訳された名前が同等かどうかを確認しようとしています。翻訳では、名前の順序が異なる場合があります。例えば:

「Yuk-Shing Au」と「Au Yuk Sing」は同一人物です。ratioこのような名前の値がはるかに高くなるように、このようなものを検出する方法はありますか? 次の結果に似ています。

0 投票する
1 に答える
601 参照

java - How to get all matched parts to regex pattern

I have to parse a String in 3 stages. Only first stage works, in 2 and 3 stage matcher.groupCount() returns 0 - which means it found nothing. I was testing my regex in online tester and it was just fine. But here it doesn't work. So the question is maybe I miss something or regex has mistake in it?

After execution firstList should contain only one value (in this case): "requiredPartForFirstPattern" (could be any char or any char sequence).

Now I am iterating all the values in the firstList and checking them with 2 pattern:

All values in firstList will have such form: "[someText1],[someText2],[someText3]".

After execution secondList should contain this values (in this case): "someText1","someText2","someText3".

And finally the third stage. I iterate all values in secondList and check them with 3 pattern. All values in secondList will have such form: "'someValue1','someValue2'".

After execution secondList should contain this values (in this case): "someValue1","someValue2".

My parseContent method: