मैं Google Chrome या IE का उपयोग करके वेबपृष्ठों में नियमित अभिव्यक्ति कैसे खोज सकता हूं?


68

मैं Google Chrome या IE का उपयोग करके वेबपृष्ठों पर 'foo | bar' जैसे नियमित भाव कैसे खोज सकता हूं? मुझे "रेगुलर एक्सप्रेशन सर्चर" एक्सटेंशन के बारे में पता है, लेकिन यह मेरे लिए काम नहीं करता है। (जब मैं स्लैश मारता हूं तो कुछ भी नहीं होता है।) वेब स्टोर पर समीक्षा से पता चलता है कि यह कई उपयोगकर्ताओं के लिए एक आम समस्या है।


1
आप फ़ायरफ़ॉक्स का उपयोग नहीं करते हैं, लेकिन आपको इसका एक ऐड दिलचस्प लग सकता है: गहरा वेब deepweb.com यह आरईएस नहीं करता है, लेकिन यह महीन दाने की खोज में सहायता करता है। यदि आप वास्तव में हताश हैं, तो आप हमेशा एक वेब पेज के स्रोत को बचा सकते हैं और फिर इसे एक उपयोगिता या संपादक के साथ खोज सकते हैं जो आरईएस का समर्थन करता है, लेकिन यह बहुत बदसूरत होगा।
जो

शायद वेब पृष्ठों के लिए बाहरी संपादक के रूप में नोटपैड ++ का उपयोग करें। वहां आप regexps खोज सकते हैं।
अल्फ्रेड

जवाबों:


39

नियमित अभिव्यक्ति से मेल खाने के लिए जावास्क्रिप्ट का उपयोग करना

शायद आप क्रोम के कंसोल में यह कोशिश करना चाहते हैं:

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 ); }

यह भी आज़माएं, यह पृष्ठ लाल पर सभी मैचों की पृष्ठभूमि को चित्रित करेगा , रेक्सएक्सपीएक्स सही नहीं है, लेकिन कम से कम इसे 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:प्रोटोकॉल का उपयोग करके किसी भी वेब पेज पर regexp की खोज के लिए थोड़ा खोज बॉक्स डाला जा सकता है।
मुझे लगता है कि आप पहले से ही जानते हैं कि साधारण रेक्सएक्सपी का उपयोग पृष्ठ से लाल मैचों को हटाने के लिए भी किया जा सकता है ।
अगर मैं इसे कुछ और घंटों तक विकसित करना जारी रखूं तो हमारे पास खोज प्लगइन हो सकता है जो बुकमार्क में फिट हो :)


1
क्रोम के कुछ पिछले संस्करण समर्थन नहीं करते हैं innerText। यह जाँचने की सलाह दी जाती है कि innerTextक्या समर्थित है और textContentयदि innerTextप्रयोग करने योग्य नहीं है तो डिफ़ॉल्ट है ।
स्पेंसर डी

तत्वों को खोजने के लिए आपका प्रारंभिक कोड [...document.body.innerText.matchAll(p)]क्रोम के 73+ संस्करण के लिए कोड के साथ हो सकता है ।
वादिम ओविचिनिकोव

6

Google Chrome से नियमित अभिव्यक्ति खोज

एक सरल खोज उपयोगिता जो आपको नियमित अभिव्यक्ति का उपयोग करके वेब पेज खोजने की अनुमति देती है।

विकास के तहत सुविधाएँ

  • पाया परिणामों के माध्यम से टॉगल करें
  • बेहतर UI
  • मामले की संवेदनशीलता के बीच टॉगल करें
  • एक्सटेंशन को टॉगल करने के लिए शॉर्टकट बनाएं
  • खोज के दौरान "Enter" कुंजी दबाने की अनुमति दें (बजाय खोज बटन पर क्लिक करें)

महत्वपूर्ण नोट्स
यह एक पेज एक्शन एक्सटेंशन है इसलिए यह आपके द्वारा पहले ही खोले गए पेज पर तुरंत काम नहीं करेगा। मैं इस विस्तार का उपयोग शुरू करने से पहले अपने ब्राउज़र को पुनः आरंभ करने की सलाह देता हूं। आप अपने खुले हुए पृष्ठ को रीफ्रेश करने का भी प्रयास कर सकते हैं।


3
मेरे पास बेहतर सुझाव नहीं है, लेकिन यह एक्सटेंशन बहुत अच्छा काम नहीं करता है। सक्षम होने पर, AdBlock सभी विज्ञापनों को ब्लॉक नहीं करता है। साथ ही, इस पृष्ठ को खोजने के बाद, उदाहरण के लिए, टिप्पणी जोड़ना काम करना बंद कर देता है।
डेनिस

3
लिंक अनुपलब्ध है। क्या यह क्रोम रेगेक्स खोज के समान विस्तार है ?
रुस्लान

4

फाइंड + एक्सटेंशन की अच्छी समीक्षा है और अभी तक इसका उल्लेख नहीं किया गया है: https://chrome.google.com/webstore/detail/find%20-regex-find-in-page/fddffkdncgkkdjobemgbbjffmmofb?hl=hi-US

मैंने इसे आज़माया, और यह बहुत अच्छा काम करता है और इसमें एक स्पष्ट, सरल यूआई है।

यह HTML तत्वों में पाठ खोज सकता है। दूसरों ने जो मेरी कोशिश की वह करने में असमर्थ थे।

यहाँ छवि विवरण दर्ज करें


3

जिन अन्य एक्सटेंशनों का उल्लेख किया गया था, वे मेरे लिए काम नहीं करते थे, इसलिए मैंने अपना स्वयं का ओपन सोर्स क्रोम एक्सटेंशन लिखा, जिसे आप यहाँ आज़मा सकते हैं: https://chrome.google.com/webstore/detail/regex-search/bcdabfmndggggffkchfdcekcokmbnkjl?hl = hi & gl = अमेरिका

स्रोत कोड github पर उपलब्ध है: https://github.com/gsingh93/regex-search


1

Chrome डेवलपर टूल मोड में, ctrl+ shift+ F(विंडोज पर, अन्य ओएस के बारे में निश्चित नहीं) टाइप करें।

खोज के लिए एक reg-ex विकल्प है। यह सभी फाइलों को खोजेगा, इसलिए इसमें जावास्क्रिप्ट स्रोत शामिल होगा। मुझे यकीन नहीं है (कैसे) आप इसे केवल HTML तक सीमित कर सकते हैं।


1

MacOS पर Chrome में, डेवलपर टूल खोलने के लिए Alt+ Command+ दबाए रखें I, पृष्ठ के लिए HTML स्रोत कोड ("स्रोत" टैब के तहत) का चयन करें, खोज करने के लिए Command+ Fऔर .*(रेगेक्स) प्रतीक का चयन करें ।

यदि आपको केवल पाठ खोजने की आवश्यकता है, तो आप HTML को सादे पाठ में बदलने के लिए पैंडॉक का उपयोग कर सकते हैं :

$ pandoc https://superuser.com/questions/417875 -t plain -o tmp.txt

और फिर lessरेगेक्स (साथ खोज /) के साथ खोज करने के लिए उपयोग करें ।


0

वास्तव में एक खोज नहीं है, लेकिन मुझे यह regexp हाइलाइटर मिला (जो मुझे कहीं मिला) काफी उपयोगी है, और सभी ब्राउज़रों के लिए काम करता है।

javascript:(function(){var%20count=0,%20text,%20regexp;text=prompt(%22Search%20regexp:%22,%20%22%22);if(text==null%20||%20text.length==0)return;try{regexp=new%20RegExp(%22(%22%20+%20text%20+%22)%22,%20%22i%22);}catch(er){alert(%22Unable%20to%20create%20regular%20expression%20using%20text%20'%22+text+%22'.\n\n%22+er);return;}function%20searchWithinNode(node,%20re){var%20pos,%20skip,%20spannode,%20middlebit,%20endbit,%20middleclone;skip=0;if(%20node.nodeType==3%20){pos=node.data.search(re);if(pos%3E=0){spannode=document.createElement(%22SPAN%22);spannode.style.backgroundColor=%22yellow%22;middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.$1.length);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else%20if(%20node.nodeType==1%20&&%20node.childNodes%20&&%20node.tagName.toUpperCase()!=%22SCRIPT%22%20&&%20node.tagName.toUpperCase!=%22STYLE%22){for%20(var%20child=0;%20child%20%3C%20node.childNodes.length;%20++child){child=child+searchWithinNode(node.childNodes[child],%20re);}}return%20skip;}window.status=%22Searching%20for%20%22+regexp+%22...%22;searchWithinNode(document.body,%20regexp);window.status=%22Found%20%22+count+%22%20match%22+(count==1?%22%22:%22es%22)+%22%20for%20%22+regexp+%22.%22;})();

सभी uuencoded वर्ण यह मुश्किल पढ़ने के लिए बनाता है, मैंने पाया क्या पर बहु संस्करण लग रहा stackoverflow.com/questions/9280195/...
आलोक

1
मैं इस साइट से regexp हाइलाइटर का उपयोग करता हूं और यह मेरे लिए काफी अच्छा काम करता है dpatrickcaldwell.blogspot.in/2010/09/…
उपयोगकर्ता

मैं सामान्य (नहीं बुकमार्कलेट) की जरूरत जे एस, और @buffer लिंक से समाधान (Chrome एक्सटेंशन में उपयोग के लिए) ठीक काम किया
एव्गेनि Dolzhenko

इससे पहले कि मैं खुद इसे किया था मुझे नीचे स्क्रॉल करना चाहिए ... pastebin.com/VA9xvmM8
सेबी

0

मैं इस क्रोम प्लगइन का सुझाव देना चाहूंगा ।


मुझे लगता है कि आप इसे एक समाधान के रूप में सुझा रहे हैं, इसलिए मैंने इसे संपादित किया। इसके अलावा, आप पूर्ण लिंक प्रदर्शित किए बिना एक लिंक प्रदान कर सकते हैं। आप चेन लिंक आइकन पर क्लिक करें जो आपके उत्तर टाइप करते समय दिखाई देता है।
KAE

-1

जब मैं इसे URL बार में डालता हूं तो यह काम नहीं करता है। हालांकि अगर यह अच्छा होगा।
अहमद

यह प्रारूपण को भी हटाता है :(
सोलोमन उको

साथ ही, यह javascript:हिस्सा क्रोम में URL बार में चिपकाया नहीं जाएगा।
सुलैमान उकौ

1
यह केवल DROP TABLE .., ;-)) को जोड़ने के लिए बना हुआ है
Drakonoved
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.