-1
votes

Utilisation de Regex pour trouver la sous-chaîne à l'intérieur d'une autre sous-chaîne

Utilisation de regex, comment vérifier une partie d'une chaîne (sous-chaîne) dans une autre chaîne (sous-chaîne)? Par exemple: xxx

J'ai besoin d'une réponse vraie pour la partie variable xxxyyy de la chaîne.

Je recherche toute partie de STR1 trouvé dans toute partie de STR2


3 commentaires

Qu'entendez-vous par partie, cordes séparées par _ ?


Ce qui devrait être le résultat pour: str1 = "abcxy"; str2 = "123yx"; ?


Fonction Matchton (Str1, Str2, Flags) {Retour Str2.Match (Nouvelle RegexP (Str1.split ('' '). Joindre (' | '), Drapeaux)); } console.log (matchtany ('li_xxxyyyy', '123xxxyyyy', 'ig'). Joindre (''));


3 Réponses :


2
votes

Je suppose que je voudrais ici que nous voudrions simplement utiliser un groupe de capture autour de notre production souhaitée et cela résoudrait probablement notre problème, avec une expression simple telle que:

p>

const regex = /(xxxyyy)/gm;
const str = `li_xxxyyy
123xxxyyy
123xxxyyy123xxxyyy
123xxxyyy123`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}


0 commentaires

1
votes

Encore une fois, une partie de STR1 trouvée dans n'importe quelle partie de STR2 P>

Vous n'avez pas besoin de regex tbh, il serait plus simple et plus rapide de simplement utiliser des opérations de chaîne ordinaires: p>

p>

let shareCommonSubstring = (str1, str2) => !!str1.match(new RegExp(`[${str2}]`));

let test = (str1, str2) => console.log(str1, str2, shareCommonSubstring(str1, str2));
test('xyz', 'abc'); // false
test('xyz', 'abcx'); // true
test('axyz', 'abc'); // true

0 commentaires

0
votes

Vous pouvez vérifier comme ceci:

var subString = 'Hello';
var string = 'Hello World'
var isSubstring = new RegExp(subString).test(string);


0 commentaires