tag:forum.selfhtml.org,2005:/self Suche mit Regex – SELFHTML-Forum 2005-12-09T22:20:07Z https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904651#m904651 iris iris_l2@hotmail.com 2005-12-01T14:25:08Z 2005-12-01T14:25:08Z Suche mit Regex <p>Hallo an alle,</p> <p>habe ein problemm und zwar,</p> <p>ich suche in ein datei mittels regex nach bestimmte vorkomnisse und markiere sie wenn sie gefunden werden.</p> <p>bsp:</p> <p>open(FILE2, "<input.txt")|| die "could not open file";<br>        while (<FILE2>){</p> <p>$_ =~ s/(SuchString)/<mark>$1</mark>/gi;</p> <p>}</p> <p>wo weit funktioniert das ganze OK.</p> <p>Ich möchte es so erweitern dass ich den Suchstring aus einer andere Datei lese und jedes eintrag in diesem datei als suchstring verwende.</p> <p>bsp datei_einträge.txt</p> <p>hat folgende struktur:</p> <p>Arbeit<br> Im Ausland</p> <blockquote> <blockquote> <p>Mehr über uns erfahren Sie morgen</p> </blockquote> </blockquote> <p>Aktuell<br> ...usw</p> <p>Jeder dieser Einträge möchte ich als SuchString in unseren text verwenden und bei treffer einfach den treffen markieren.<br> Leider funktioniert die schleife für diese suche bei mir nicht.<br> Ich bitte Sie deshalb um Ihre Hilfe, wie schaut eine Lösung aus?</p> <p>Danke, Gruss, IRIS</p> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904653#m904653 opi 2005-12-01T15:57:20Z 2005-12-01T15:57:20Z Suche mit Regex <p>Hallo,</p> <blockquote> <p>ich suche in ein datei mittels regex nach bestimmte vorkomnisse und markiere sie wenn sie gefunden werden.</p> <p>bsp:</p> <p>open(FILE2, "<input.txt")|| die "could not open file";<br>        while (<FILE2>){</p> <p>$_ =~ s/(SuchString)/<mark>$1</mark>/gi;</p> <p>}</p> <p>wo weit funktioniert das ganze OK.</p> <p>Ich möchte es so erweitern dass ich den Suchstring aus einer andere Datei lese und jedes eintrag in diesem datei als suchstring verwende.</p> <p>bsp datei_einträge.txt</p> <p>hat folgende struktur:</p> <p>Arbeit<br> Im Ausland</p> <blockquote> <blockquote> <p>Mehr über uns erfahren Sie morgen<br> Aktuell<br> ...usw</p> </blockquote> </blockquote> </blockquote> <p>Meinst du sowas ...</p> <p>Datei ./searchstring:</p> <p>simpler<br> dies</p> <p>Datei ./inputfile</p> <p>dies ist ein simpler test<br> dies ist ein simpler test<br> dies ist ein simpler test</p> <pre><code class="block language-perl"> open<span class="token punctuation">(</span>FILE_A<span class="token punctuation">,</span>'<span class="token operator"><</span><span class="token operator">.</span><span class="token operator">/</span>searchstrings<span class="token comment">#); </span> <span class="token keyword">my</span> <span class="token variable">$search</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token filehandle symbol"><FILE_A></span> <span class="token punctuation">]</span><span class="token punctuation">;</span> chomp <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> close<span class="token punctuation">(</span>FILE_A<span class="token punctuation">)</span><span class="token punctuation">;</span> open<span class="token punctuation">(</span>FILE_B<span class="token punctuation">,</span><span class="token string">'<$inputfile'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">while</span> <span class="token punctuation">(</span><span class="token keyword">my</span> <span class="token variable">$line</span> <span class="token operator">=</span> <span class="token filehandle symbol"><FILE_B></span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$line</span> <span class="token operator">=~</span> <span class="token regex">s/($_)/<mark>$1<\/mark>/gi</span> <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> <span class="token keyword">print</span> <span class="token variable">$line</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> close<span class="token punctuation">(</span>FILE_B<span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Ausgabe:</p> <p><mark>dies</mark> ist ein <mark>simpler</mark> test<br> <mark>dies</mark> ist ein <mark>simpler</mark> test<br> <mark>dies</mark> ist ein <mark>simpler</mark> test</p> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904652#m904652 Eternius http://nullhirn.com 2005-12-01T15:58:39Z 2005-12-01T15:58:39Z Suche mit Regex <p>Hallo,</p> <p>äh, wie sieht dein Ansatz aus?</p> <p>gruss</p> <div class="signature">-- <br> no strict;<br> no warnings;<br> 79.78 cups of Coffee (Brewed) + Me = Death<br> Terrorific! </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904654#m904654 opi 2005-12-01T16:00:13Z 2005-12-01T16:00:13Z Suche mit Regex <p>Hallo,</p> <p>oops, sorry, da ist ein Fehler im ersten open.</p> <pre><code class="block language-perl"> open<span class="token punctuation">(</span>FILE_A<span class="token punctuation">,</span>'<span class="token operator"><</span><span class="token operator">.</span><span class="token operator">/</span>searchstrings<span class="token comment">#); </span> <span class="token operator">></span> <span class="token keyword">my</span> <span class="token variable">$search</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token filehandle symbol"><FILE_A></span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token operator">></span> chomp <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> <span class="token operator">></span> close<span class="token punctuation">(</span>FILE_A<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token operator">></span> open<span class="token punctuation">(</span>FILE_B<span class="token punctuation">,</span><span class="token string">'<$inputfile'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token keyword">while</span> <span class="token punctuation">(</span><span class="token keyword">my</span> <span class="token variable">$line</span> <span class="token operator">=</span> <span class="token filehandle symbol"><FILE_B></span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token operator">></span> <span class="token variable">$line</span> <span class="token operator">=~</span> <span class="token regex">s/($_)/<mark>$1<\/mark>/gi</span> <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token keyword">print</span> <span class="token variable">$line</span><span class="token punctuation">;</span> <span class="token operator">></span> <span class="token punctuation">}</span> <span class="token operator">></span> close<span class="token punctuation">(</span>FILE_B<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token operator">></span> </code></pre> <blockquote></blockquote> <pre><code class="block language-perl"> open<span class="token punctuation">(</span>FILE_A<span class="token punctuation">,</span><span class="token string">'<./searchstring'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">my</span> <span class="token variable">$search</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token filehandle symbol"><FILE_A></span> <span class="token punctuation">]</span><span class="token punctuation">;</span> chomp <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> close<span class="token punctuation">(</span>FILE_A<span class="token punctuation">)</span><span class="token punctuation">;</span> open<span class="token punctuation">(</span>FILE_B<span class="token punctuation">,</span><span class="token string">'<inputfile'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">while</span> <span class="token punctuation">(</span><span class="token keyword">my</span> <span class="token variable">$line</span> <span class="token operator">=</span> <span class="token filehandle symbol"><FILE_B></span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$line</span> <span class="token operator">=~</span> <span class="token regex">s/($_)/<mark>$1<\/mark>/gi</span> <span class="token keyword">for</span> <span class="token variable">@$search</span><span class="token punctuation">;</span> <span class="token keyword">print</span> <span class="token variable">$line</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> close<span class="token punctuation">(</span>FILE_B<span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904657#m904657 Ashura http://noctus.net 2005-12-01T16:09:28Z 2005-12-01T16:09:28Z Suche mit Regex <p>Hallo opi.</p> <blockquote> <p>oops, sorry, da ist ein Fehler im ersten open.</p> </blockquote> <p>Und in deinen [code]-Blöcken:</p> <p><img src="http://download.noctus.net/gallery/caps/self_codeblock.jpg" alt="Farbverfälschungen beim Text" loading="lazy"></p> <p>(Nein, der Text ist normalerweise nicht blau und nein, der Text in Formularelementen ist normalerweise nicht kursiv.)</p> <p>Einen schönen Donnerstag noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> <a href="http://www.nightwish.com/english/lettertotarjaen.html" rel="nofollow noopener noreferrer">The End of an Era...</a> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904655#m904655 iris iris_l2@hotmail.com 2005-12-01T16:23:10Z 2005-12-01T16:23:10Z Suche mit Regex <blockquote> <p>open(FILE_A,'<./searchstring');<br> my $search = [ <FILE_A> ];<br> chomp for @$search;<br> close(FILE_A);</p> </blockquote> <p>bis hier richtig.<br> zweite datei<br> habe ich in einem array gespeichert<br> also das array hat die form</p> <p>@array = ("wort1","wort2","wort bla bla","usw andere wörter");</p> <p>forach (@array)</p> <p>[prüfe ob ein searchstring exsistiert, wenn ja marikiere]</p> <p>wie mache ich das?</p> <p>Also deine obere Lösung hat bei mir nicht funktioniert? Der Script ist in einen unendlichen Schleife geraten...</p> <p>Danke für die Bemühung,</p> <p>Gruss, Iris</p> <blockquote> <p>open(FILE_B,'<inputfile');<br> while (my $line = <FILE_B>) {<br>    $line =~ s/($_)/<mark>$1</mark>/gi for @$search;<br>    print $line;<br> }<br> close(FILE_B);<br> [/code]</p> <p>Greez,<br> opi</p> </blockquote> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904656#m904656 opi 2005-12-01T16:38:31Z 2005-12-01T16:38:31Z Suche mit Regex <p>Hallo,</p> <blockquote> <p>zweite datei<br> habe ich in einem array gespeichert<br> also das array hat die form</p> </blockquote> <blockquote> <blockquote> <p>open(FILE_A,'<./searchstring');<br> my $search = [ <FILE_A> ];<br> chomp for @$search;<br> close(FILE_A);</p> </blockquote> </blockquote> <p>my $lines = [ "dies ist ein simpler test", "dies ist ein simpler test", "dies ist ein simpler test" ];</p> <p>foreach my $line (@$lines) {<br>    $line =~ s/($_)/<mark>$1</mark>/gi for @$search;<br>    print $line ."\n";<br> }</p> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904661#m904661 Struppi struebig@gmx.net http://javascript.jstruebig.de/ 2005-12-01T16:29:58Z 2005-12-01T16:29:58Z Suche mit Regex <p><img src="http://download.noctus.net/gallery/caps/self_codeblock.jpg" alt="Farbverfälschungen beim Text" loading="lazy"></p> <p>Oh, kann man dieses Stylesheet haben?<br> und was sind das für nützliche Buttons?<br> (ich vermute ein JS und ich vermute ich habe einen Thread über Benutzereinstellungen nicht gründlich mitgelesen)</p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904658#m904658 opi 2005-12-01T16:35:06Z 2005-12-01T16:35:06Z Suche mit Regex <p>Hallo Ashura,</p> <blockquote> <p>(Nein, der Text ist normalerweise nicht blau und nein, der Text in Formularelementen ist normalerweise nicht kursiv.)</p> </blockquote> <p>das verstehe ich jetzt nicht. Was habe ich falsch gemacht und wie<br> kann ich es richtig machen?</p> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904659#m904659 opi 2005-12-01T16:49:00Z 2005-12-01T16:49:00Z Suche mit Regex <p>Hallo Ashura,</p> <p>jetzt habe ich verstanden was du meinst. Die Auflistung der weiteren<br> Threads wird bei mir in lila und kursiv dargestellt. Aber das sehe<br> ich nicht nur als einen Fehler in meinen Codeblöcken. Sowas kann man<br> auch als Bug im Forum bezeichnen :-)</p> <p>Jetzt ernte ich hoffentlich keine bösen Zungen...</p> <p>Greez,<br> opi</p> <div class="signature">-- <br> Selfcode: ie:( fl:( br:^ va:) ls:] fo:) rl:( n4:? ss:| de:] ch:? mo:|<br> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904660#m904660 Ashura http://noctus.net 2005-12-09T17:12:43Z 2005-12-09T17:12:43Z Suche mit Regex <p>Hallo opi.</p> <blockquote> <p>Die Auflistung der weiteren<br> Threads wird bei mir in lila und kursiv dargestellt. Aber das sehe<br> ich nicht nur als einen Fehler in meinen Codeblöcken. Sowas kann man<br> auch als Bug im Forum bezeichnen :-)</p> </blockquote> <p>Ja, auch.</p> <blockquote> <p>Jetzt ernte ich hoffentlich keine bösen Zungen...</p> </blockquote> <p>Wenn du sie sähst…</p> <p>Einen schönen Freitag noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> <a href="http://www.nightwish.com/english/lettertotarjaen.html" rel="nofollow noopener noreferrer">The End of an Era...</a> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904662#m904662 Ashura http://noctus.net 2005-12-09T17:10:41Z 2005-12-09T17:10:41Z Suche mit Regex <p>Hallo Struppi.</p> <p>Besser spät als nie…</p> <blockquote> <p><a href="http://download.noctus.net/gallery/caps/self_codeblock.jpg" rel="nofollow noopener noreferrer">http://download.noctus.net/gallery/caps/self_codeblock.jpg</a></p> <p>Oh, kann man dieses Stylesheet haben?</p> </blockquote> <p><a href="http://download.noctus.net/css/self.css" rel="nofollow noopener noreferrer">Natürlich</a>.</p> <blockquote> <p>und was sind das für nützliche Buttons?<br> (ich vermute ein JS und ich vermute ich habe einen Thread über Benutzereinstellungen nicht gründlich mitgelesen)</p> </blockquote> <p>Ein paar meiner Funktionen habe ich hier schon veröffentlicht, die Idee mit den Buttons stammt von Jeena.<br> Aber wenn du dich dennoch mit meinem Script herum schlagen willst, kannst du es <a href="http://download.noctus.net/js/self.js" rel="nofollow noopener noreferrer">hier</a> (I know, „Don't say ‚click here‘…“) finden. (Auch <a href="http://download.noctus.net/js/self.doc.js" rel="nofollow noopener noreferrer">mit Kommentaren</a>.)</p> <p>Einen schönen Freitag noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> <a href="http://www.nightwish.com/english/lettertotarjaen.html" rel="nofollow noopener noreferrer">The End of an Era...</a> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904663#m904663 Struppi struebig@gmx.net http://javascript.jstruebig.de/ 2005-12-09T22:11:12Z 2005-12-09T22:11:12Z Suche mit Regex <blockquote> <p>Besser spät als nie…</p> </blockquote> <p>Jo ;-)</p> <blockquote> <blockquote> <p><a href="http://download.noctus.net/gallery/caps/self_codeblock.jpg" rel="nofollow noopener noreferrer">http://download.noctus.net/gallery/caps/self_codeblock.jpg</a></p> <p>Oh, kann man dieses Stylesheet haben?</p> </blockquote> <p><a href="http://download.noctus.net/css/self.css" rel="nofollow noopener noreferrer">Natürlich</a>.</p> </blockquote> <p>Soweit so gut, was mich aber wundert, das CSS ist stark für FF gebaut, aber ...</p> <blockquote> <p>Aber wenn du dich dennoch mit meinem Script herum schlagen willst, kannst du es <a href="http://download.noctus.net/js/self.js" rel="nofollow noopener noreferrer">hier</a> (I know, „Don't say ‚click here‘…“) finden. (Auch <a href="http://download.noctus.net/js/self.doc.js" rel="nofollow noopener noreferrer">mit Kommentaren</a>.)</p> </blockquote> <p>.. die Buttons scheinen nur mit dem IE zu funktioneren (document.selection kennt mein FF nicht)</p> <p>Ob ich mich an das CSS gewöhne weiß ich noch nicht, muss ich mir mal angucken ich hab natürlich auch das Problem das ich auf der Arbeit mit dem IE 4.0 surfe, da muss dann noch ein @import rein.<br> Aber das Skript schau mich mir mal genauer an.</p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> https://forum.selfhtml.org/self/2005/dec/1/suche-mit-regex/904664#m904664 Ashura http://noctus.net 2005-12-09T22:20:07Z 2005-12-09T22:20:07Z Suche mit Regex <p>Hallo Struppi.</p> <blockquote> <p>Soweit so gut, was mich aber wundert, das CSS ist stark für FF gebaut, aber ...</p> <p>[…]</p> <p>.. die Buttons scheinen nur mit dem IE zu funktioneren (document.selection kennt mein FF nicht)</p> </blockquote> <p>Nö, du hast Opera vergessen.<br> Dieser kann beides; moderne Regelsets und document.selection.</p> <p>Für Fx gibt es eine <a href="http://aktuell.de.selfhtml.org/tippstricks/javascript/bbcode/index.htm#beispiel" rel="nofollow noopener noreferrer">Alternativlösung</a>, welche ich aber entfernt habe, da ich mit diesem hier so gut wie nie unterwegs bin.</p> <blockquote> <p>Aber das Skript schau mich mir mal genauer an.</p> </blockquote> <p>Tu dir keinen Zwang an; wenn es Fragen gibt helfe ich gern.</p> <p>Einen schönen Freitag noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> <a href="http://www.nightwish.com/english/lettertotarjaen.html" rel="nofollow noopener noreferrer">The End of an Era...</a> </div>