web-dev-qa-db-fra.com

Comment rechercher des expressions régulières dans des pages Web à l'aide de Google Chrome ou IE?

Comment rechercher des expressions régulières telles que "foo | bar" sur des pages Web à l'aide de Google Chrome ou IE? Je connais l'extension "Recherche d'expressions régulières", mais cela ne fonctionne pas pour moi. (Rien ne se passe lorsque je frappe une barre oblique.) Les critiques de la boutique en ligne indiquent qu'il s'agit d'un problème courant pour de nombreux utilisateurs.

64
Sarah

Utiliser Javascript pour faire correspondre les expressions régulières

Peut-être que vous voulez essayer ceci sur la console de chrome:

var p=/.*(regu).+?\ /gi; console.log( document.body.innerText.match(p) );

Il suffit de ouvrir la console , copier et coller ci-dessus pour console et appuyer sur enter. Vous pouvez le tester ici sur cette page.
Cela peut être amélioré s’il convient.

Ici, nous imprimons sur la console les index de correspondance et le texte correspondant. Ici, nous essayons de faire correspondre le texte qui contient regu, 20 caractères avant (ou moins si début de la ligne) et 10 caractères après (ou moins si eol).

var p=/.{0,20}regu[^ \n]+[^\n]{0,10}/gi;
while (m = p.exec(document.body.innerText)) { 
    console.log( 'Index: '+m.index+' Match: '+m ); }

Essayez aussi ça, ça va Fond de peinture de tous les matchs sur la page rouge, rexexp n'est pas parfait mais au moins ça devrait ne plaisante pas avec les balises HTML:

var p=/(\>{1}[^\n\<]*?)([^\n\<]{0,30}regu[^\n\<]{0,10})/gi,b=document.body;
b.innerHTML=b.innerHTML.replace(p,'$1<span style="background-color:red;">$2</span>');

Marquer ceci:

Une autre façon de l'utiliser consiste à utiliser le protocole javascript: (le même code que ci-dessus):

javascript:(function(){var p=/(\>{1}[^\n\<]*?)([^\n\<]{0,30}regu[^\n\<]{0,10})/gi,b=document.body;b.innerHTML=b.innerHTML.replace(p,'$1<span style="background-color:red;">$2</span>');})();

Par exemple, en utilisant le protocole javascript:, vous pouvez insérer un petit champ de recherche dans n’importe quelle page Web pour la recherche d’expressions rationnelles.
Je pense que vous savez déjà qu'une simple expression rationnelle peut également être utilisée pour supprimer le rouge. allumettes de la page.
Si je continue à développer cela pendant quelques heures de plus, il est possible que nous ayons un plugin de recherche qui tient dans le signet :)

39
Sampo Sarrala

Recherche d'expressions régulières à partir de Google Chrome.

Un utilitaire de recherche simple qui vous permet de rechercher une page Web en utilisant une expression régulière.

Caractéristiques en cours de développement

  • basculer entre les résultats trouvés
  • amélioration de l'interface utilisateur
  • basculer entre la sensibilité à la casse
  • créer un raccourci pour basculer l'extension
  • Autoriser la touche "Entrée" lors de la recherche (au lieu de cliquer sur le bouton de recherche)

Remarques importantes
Il s’agit d’une extension d’action de page qui ne fonctionnera pas immédiatement sur la page que vous avez déjà ouverte. Je recommande de redémarrer votre navigateur avant de commencer à utiliser cette extension. Vous pouvez également essayer d'actualiser votre page ouverte.

5
user

Les autres extensions mentionnées ne fonctionnaient pas pour moi. J'ai donc écrit ma propre extension chrome open source que vous pouvez essayer ici: https://chrome.google.com/webstore/ detail/regex-search/bcdabfmndggphffkchfdcekcokmbnkjl? hl = en & gl = US

Le code source est disponible sur github: https://github.com/gsingh93/regex-search

3
gsingh2011

L'extension Find + contient de bonnes critiques et n'a pas encore été mentionnée: https://chrome.google.com/webstore/detail/find%20-regex-find-in-page/fddffkdncgkkdjobemgbpojjeffmmofb? hl = en-US

Je l'ai essayé, et cela fonctionne très bien et a une interface utilisateur claire et simple.

Il peut rechercher du texte sur des éléments HTML. Les autres que j'ai essayés étaient incapables de le faire.

enter image description here

2
twasbrillig

Dans Chrome sur macOS, maintenez la touche enfoncée. Alt+Command+I pour ouvrir les outils de développement, sélectionnez le code source HTML de la page (sous l'onglet "Sources"), maintenez la touche enfoncée. Command+F pour rechercher et sélectionnez le symbole .* (Regex).

Si vous devez rechercher uniquement du texte, vous pouvez utiliser pandoc pour convertir le HTML en texte brut:

$ pandoc https://superuser.com/questions/417875 -t plain -o tmp.txt

Et utilisez ensuite less pour rechercher avec Regex (avec /).

1
gmarmstrong

En mode Outils de développement Chrome, tapez ctrl + shift + F (sous Windows, pas sûr des autres OS).

Il existe une option reg-ex pour la recherche. Ceci recherchera tous les fichiers, donc il inclura une source JavaScript. Je ne sais pas (comment) vous pouvez le limiter au HTML.

1
Fuhrmanator

Je voudrais suggérer ce plugin Chrome .

0
ultraon

ce n’est pas vraiment une recherche, mais j’ai trouvé ce surligneur regexp (que j’ai trouvé quelque part) très utile et qui convient à tous les navigateurs.

javascript:(function(){var%20count=0,%20text,%20regexp;text=Prompt(%22Search%20regexp:%22,%20%22%22);if(text==null%20||%20text.length==0)return;try{regexp=new%20RegExp(%22(%22%20+%20text%20+%22)%22,%20%22i%22);}catch(er){alert(%22Unable%20to%20create%20regular%20expression%20using%20text%20'%22+text+%22'.\n\n%22+er);return;}function%20searchWithinNode(node,%20re){var%20pos,%20skip,%20spannode,%20middlebit,%20endbit,%20middleclone;skip=0;if(%20node.nodeType==3%20){pos=node.data.search(re);if(pos%3E=0){spannode=document.createElement(%22SPAN%22);spannode.style.backgroundColor=%22yellow%22;middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.$1.length);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else%20if(%20node.nodeType==1%20&&%20node.childNodes%20&&%20node.tagName.toUpperCase()!=%22SCRIPT%22%20&&%20node.tagName.toUpperCase!=%22STYLE%22){for%20(var%20child=0;%20child%20%3C%20node.childNodes.length;%20++child){child=child+searchWithinNode(node.childNodes[child],%20re);}}return%20skip;}window.status=%22Searching%20for%20%22+regexp+%22...%22;searchWithinNode(document.body,%20regexp);window.status=%22Found%20%22+count+%22%20match%22+(count==1?%22%22:%22es%22)+%22%20for%20%22+regexp+%22.%22;})();
0
ceiling cat