に一致する私は両方の文字列を共有する10を通って、私は3の長さの部分文字列を持っている正規表現重複のため、オペレータが
chriscattano
christiancattano
私の名前の長さを変化させている2つの文字列を持っている
(chr)(hri)(ris)(cat)(att)(tta)(tan)(ano)(chri)(hris)(catt)(atta)(ttan)(tano)(chris)(catta)(attan)(ttano)(cattan)(attano)(cattano)
私はこれを正規表現の検索に入れようとしています。これは、単語chris
とcattano
にうまく一致します。 .replace
と一致結果にをsassクラスで適用します。
私はあることを私の正規表現をフォーマットする場合:
/(chr)|(hri)|(ris)|(cat)|(att)|(tta)|(tan)|(ano)|(chri)|(hris)|(catt)|(atta)|(ttan)|(tano)|(chris)|(catta)|(attan)|(ttano)|(cattan)|(attano)|(cattano)/g
私は相互chr
とcattan
に合致するように管理しますが、私はchris
とcattano
を強調表示する方法を見つけ出すことはできません。 is
とo
が見つかりません。
この例は、機能をテストして完成させるために私の名前を使用しているため、大幅に変更することができます。それは最終的に電子メールアドレス、名前、およびアドレスに使用されます。だからキャプチャグループの順番を変更すると(これがこれを解決できるかどうかは)解決策ではなく、より動的にするとキャプチャグループが正規表現オブジェクトに入れられるときの順序をほとんど制御しなくなります。メソッドとしてパラメータとして供給される。.replace()
メソッド。
ここに私が必要とするマッチを強調するためにさまざまなことを試してきた正規表現があります。うまくいけば、誰かがそれを動かすことができますか?
http://www.regexpal.com/?fam=97413
最終目標は何ですか? 2つの文字列の共通部分文字列を強調表示するコードを記述しようとしていますか?私は正規表現が正しい解決策ではないと感じています。 –
@Jordanはい、2つの文字列が与えられたとき、私は3と10の間のすべての共有部分文字列を抽出するコードを持っています。これらの部分文字列は、.replace()メソッドのパラメータとして使用されるregexオブジェクト広告。 .replace()メソッドは、マッチした単語をバックグラウンドカラーを指定するsassクラスを含むスパンに置き換えます。これは、h.replace(regexObj、 ' $ {regexObj}')のようなものです。 – Chris
注文には問題がありますか? 'chriscattano'と' cattanoXYZchris'はどうなるでしょうか?一般的な部分文字列を列挙するには、[多くの既存の研究(https://www.google.com/search?q=algorithm+find+all+common+substrings)があります。あなたは車輪を再発明する魅力的な理由がありますか? –