Как искать регулярные выражения, например 'foo|bar', на веб-страницах с помощью Google Chrome или IE? Я знаю о расширении "Regular Expression Searcher", но оно у меня не работает. (Ничего не происходит, когда я нажимаю слэш.) Отзывы в интернет-магазине показывают, что это распространенная проблема для многих пользователей.
решение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=ru-RU
Я попробовал, и он работает очень хорошо и имеет понятный и простой пользовательский интерфейс.
Он может искать текст по 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