如何使用 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