如何使用 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 個字元(如果 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 ); }

也試試這個,它會油漆背景頁面上所有匹配項的數量紅色的, 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

正規表示式搜尋來自谷歌瀏覽器。

一個簡單的搜尋實用程序,允許您使用正規表示式搜尋網頁。

正在開發的功能

  • 切換找到的結果
  • 改進的使用者介面
  • 在區分大小寫之間切換
  • 建立用於切換擴充功能的快捷方式
  • 允許在搜尋時按“Enter”鍵(而不是單擊搜尋按鈕)

重要筆記
這是一個頁面操作擴展,因此它不會立即在您已經打開的頁面上運行。我建議在開始使用此擴充功能之前重新啟動瀏覽器。您也可以嘗試重新整理開啟的頁面。

答案4

提到的其他擴展對我來說不起作用,所以我編寫了自己的開源 Chrome 擴展,您可以在這裡嘗試:https://chrome.google.com/webstore/detail/regex-search/bcdabfmndggphffkchfdcekcokmbnkjl?hl=en&gl=US

原始碼可以在github上找到:https://github.com/gsingh93/regex-search

相關內容