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

Sar*_*rah 83 google-chrome regex

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

Sam*_*org 48

使用Javascript匹配正则表达式

也许你想在 chrome 的控制台上试试这个:

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

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

在这里,我们打印到控制台匹配索引和匹配文本。在这里,我们尝试匹配包含regu, 之前 20 个字符(如果行首则更少)和之后 10 个字符(如果 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 ); }
Run Code Online (Sandbox Code Playgroud)

也试试这个,它会在页面red绘制所有匹配的背景,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>');
Run Code Online (Sandbox Code Playgroud)

书签这个:

另一种使用它的方法是通过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>');})();
Run Code Online (Sandbox Code Playgroud)

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


use*_*ser 6

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

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

正在开发的功能

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

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

  • 我没有更好的建议,但是这个扩展功能不太好。启用后,AdBlock 不会阻止所有广告。此外,例如,搜索此页面后,*添加评论* 停止工作。 (4认同)
  • 该链接似乎不可用。它与 [Chrome Regex Search](https://chrome.google.com/webstore/detail/chrome-regex-search/bpelaihoicobbkgmhcbikncnpacdbknn) 的扩展名是否相同? (4认同)

twa*_*lig 6

Find+ 扩展有很好的评价,但尚未提及:https : //chrome.google.com/webstore/detail/find%20-regex-find-in-page/fddffkdncgkkdjobemgbpojjeffmmofb?hl=en-US

我试了一下,效果很好,而且有一个清晰、简单的用户界面。

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

在此处输入图片说明