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