0

これが可能かどうかはわかりません。少しあいまいに聞こえる場合は申し訳ありません。JavaScript では、文字列を Photoshop のテキスト レイヤーにある文字列 (テキスト コンテンツ) と照合しています。これはすべて、短い文字列で問題ありません。ただし、長い文字列では、ピリオドが抜けているか、先頭に空白があるか、改行が含まれているか、コンマが欠落している (区切りによる) ため、一致しない可能性があります。

より良い方法は、最初の 16 文字または 32 文字と正確に一致させ、そのままにしておくことだと思います。しかし、パーセンタイルベースで文字列を照合できるかどうか疑問に思っていました。90% を超えるものを受け入れます (エラー マージンが広いことはわかっていますが、文字列が似ている可能性は低いです)。ファジー正規表現のようなものはありますか?

ありがとうございました。

4

4 に答える 4

5

必要なのは完全一致ではなく、文字列の類似性の尺度のようです。

そのような対策があります。レーベンシュタイン距離と呼ばれます。私はそれをグーグルで検索し、いくつかのJavaScript実装を見つけました。代わりにそのようにすることを検討してください。

于 2012-12-21T08:04:49.320 に答える
3

すべての空白、ドット、およびその他の無関係なものを置換で削除し、残りのテキストを正規表現と一致させることができます。これはどういうわけかあいまいです:)いくつかのトークンを失いますが、それでも正しい結果が得られるためです。たとえば、「XXX YYY」を検索する代わりに、「XXXYYY」を検索します。

于 2012-12-21T08:01:34.607 に答える
1

agrepなどのおおよその正規表現の実装がありますが、特定の問題に使用できるかどうかは質問からは不明です。

于 2012-12-21T13:20:43.423 に答える
0

これは、php で簡単に実現できます。

$var_1 = 'PHP IS GREAT'; 
$var_2 = 'WITH MYSQL'; 

similar_text($var_1, $var_2, $percent); 

echo $percent; 
// 27.272727272727 
于 2015-05-05T18:31:40.127 に答える