私はグループ()
内[]
と|
とOR演算子によって排他的マッチングを行うための多くの方法を見てきましたJavascriptを正規表現:と行動
で正規表現を勉強しています。
正規表現でのAND動作の達成方法を理解できません。私はいくつかの調査をしましたが、私は必要なものを見つけられませんでした。
ここに例を示します。私は次の文字列を持っています:kata
。私は別の文字列と比較したい:steak
。 steak
のすべての文字がkata
に含まれている場合は、true
を返すことが目標です。この正規表現[steak]
を使用するとtrueを返しますが、実際にはkataには「s」がないのでfalseを返すはずです。
例2 String1 = scriptsjava
、string2 = javascript
、結果= true
(文字列2を文字列1に含まれているため)
例3 String1 = jscripts
、string2 = javascript
、結果= false
(文字列2が完全に文字列1に含まれていないため)
例4 String1 = rkqodlw
string2 = world
結果= true
(文字列の世界が最初の文字列にあるため)
普通の式が最良の方法であり、私はstring2をパターンと見なしました。この問題に対する私の解決策は次の通りです
var validate=true;
var counter = 0;
str2.split("").map(val => {
counter++;
var char = new RegExp(val);
if (char.test(str1) === false) { validate = false;} else
{
str1 = str1.slice(0, counter+1) + str1.slice(counter+1,str1.length);
console.log(str1);
}
});
return validate;
私は最も効率的だと思います。あなたはこれに対してより良い解決策を持っていますか?
少し混乱して表示されるので、いくつかのペアの例を挙げ、各ペアについて何を期待しているかを書き留めてください。 –
使用する言語を追加できますか?正規表現の解決法は、それを解決する最善の方法ではないでしょう。 –
正規表現の仕事は、 "2つの文字列を比較する"ことではなく、パターンの説明と文字列を一致させることです。あなたはそれが何をしようとしているのか、それを行うための別のツールをよりよく定義する必要があります。 – deceze