Est-il une version de JavaScript de la Chaîne.indexOf() qui permet d'expressions régulières?

En javascript, est-il un équivalent de la Chaîne.indexOf() qui prend une expression régulière au lieu d'une chaîne de caractères pour le premier paramètre, tout en permettant un deuxième paramètre ?

J'ai besoin de faire quelque chose comme

str.indexOf(/[abc]/ , i);

et

str.lastIndexOf(/[abc]/ , i);

Alors Que Chaîne De Caractères.recherche() prend une regexp comme un paramètre qu'il ne me permet pas de spécifier un second argument!

Edit:

Ceci s'est avéré être plus difficile que je pensais j'ai donc écrit une petite fonction de test afin de tester toutes les solutions apportées... il suppose regexIndexOf et regexLastIndexOf ont été ajoutées à l'objet de type String.

function test (str) {
    var i = str.length +2;
    while (i--) {
        if (str.indexOf('a',i) != str.regexIndexOf(/a/,i)) 
            alert (['failed regexIndexOf ' , str,i , str.indexOf('a',i) , str.regexIndexOf(/a/,i)]) ;
        if (str.lastIndexOf('a',i) != str.regexLastIndexOf(/a/,i) ) 
            alert (['failed regexLastIndexOf ' , str,i,str.lastIndexOf('a',i) , str.regexLastIndexOf(/a/,i)]) ;
    }
}

et je suis en train de tester comme suit pour vous assurer que, au moins pour un caractère regexp, le résultat est le même que si nous avons utilisé indexOf

//Recherche pour l'un parmi les emprisonne

test('xxx');

test('axx');

test('xax');

test('xxa');

test ("axa');

test('xaa');

test('aax');

test ("aaa");

  • | à l'intérieur de [ ] correspond au caractère littéral |. Vous signifiait probablement [abc].
  • oui merci, vous avez raison, je vais le réparer, mais l'expression elle-même est sans importance...
  • Mise à jour de ma réponse Pat, merci pour tous vos commentaires.
  • J'ai trouvé un moyen plus simple et efficace est d'utiliser de la chaîne.match(/[A-Z]/). Si il n'y a pas de beaucoup, la méthode renvoie null, sinon vous obtiendrez un objet, vous pouvez le faire match(/[A-Z]/).indice pour obtenir l'index de la première lettre en majuscule
InformationsquelleAutor Pat | 2008-11-07