如何使用 Google Chrome 或 IE 在网页内搜索正则表达式?

如何使用 Google Chrome 或 IE 在网页内搜索正则表达式?

如何使用 Google Chrome 或 IE 在网页上搜索类似“foo|bar”的正则表达式?我知道“正则表达式搜索器”扩展程序,但它对我不起作用。(当我点击斜线时什么也没发生。)网上商店的评论表明这是许多用户的常见问题。

答案1

使用 Javascript 匹配正则表达式

也许你想在 Chrome 的控制台上尝试一下:

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

只是打开控制台,将上面的内容复制并粘贴到控制台并点击enter。您可以在此页面上进行测试。
如果合适,可以进行改进。

这里我们将匹配索引和匹配的文本打印到控制台。这里我们尝试匹配包含 的文本regu,前 20 个字符(如果是行首则更少),后 10 个字符(如果是行末则更少)。

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

也尝试一下这个,它会油漆背景页面上所有匹配项红色的,rexexp 并不完美,但至少它应该不要弄乱 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>');

收藏此页:

另一种使用方法是通过javascript:协议(与上面相同的代码):

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>');})();

例如,使用javascript:协议,可以在任何网页上插入一个小搜索框,用于搜索正则表达式。
我想你已经知道,简单的正则表达式也可以用来删除红色火柴来自页面。
如果我继续开发几个小时,我们可能会有适合书签的搜索插件 :)

答案2

Find+ 扩展程序评价不错,目前还没有被提及:https://chrome.google.com/webstore/detail/find%20-regex-find-in-page/fddffkdncgkkdjobemgbpojjeffmmofb?hl=en-US

我尝试了一下,它运行良好,并且用户界面清晰、简单。

它可以跨 HTML 元素搜索文本。我尝试过的其他程序都无法做到这一点。

在此处输入图片描述

答案3

正则表达式搜索来自 Google Chrome。

一个简单的搜索实用程序,允许您使用正则表达式搜索网页。

正在开发的功能

  • 切换找到的结果
  • 改进的用户界面
  • 切换大小写
  • 创建切换扩展的快捷方式
  • 允许在搜索时按“Enter”键(而不是单击搜索按钮)

重要笔记
这是一个页面操作扩展,因此它不会立即在您已打开的页面上起作用。我建议在开始使用此扩展之前重新启动浏览器。您也可以尝试刷新打开的页面。

答案4

提到的其他扩展对我来说不起作用,因此我编写了自己的开源 chrome 扩展,您可以在此处尝试:https://chrome.google.com/webstore/detail/regex-search/bcdabfmndggphffkchfdcekcokmbnkjl?hl=en&gl=US

源代码可以在 github 上找到:https://github.com/gsingh93/regex-search

相关内容