Regular Expression für ein Datum – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Regular Expression für ein Datum Fri, 24 Mar 06 08:31:15 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949960#m949960 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949960#m949960 <p>Hallo liebe SelfHtml Gemeinde,</p> <p>ich möchte eine regular Expression für ein Datum festlegen, habe aber ein kleines Problem.</p> <p>Folgender Fall:</p> <p>um auf ein Datum im Format tt/mm/jjjj oder tt-mm-jjjj herauszufinden verwende ich folgende regular expression:</p> <p>/^\d\d[/-]\d\d[/-]\d\d\d\d$/<br> Das funktioniert soweit wunderbar.</p> <p>Nun möchte ich aber, dass das Datum auch im Format tt.mm.jjjj gefunden wird, also mit dem Punkt "." als Trennzeichen.</p> <p>Kopfzerbrechen bereiten mir die beiden Teile: [/-]<br> Hiermit finde ich nämlich die Trennzeichen "/" und "-" im Datum.</p> <p>Das bedeutet demnach soviel wie "/" ODER "-". Wenn ich nun ein weiteres ODER (für den Punkt als Trennzeichen) hinzufügen möchte müsste es demnach heissen: [/-.], richtig? Das funktioniert aber nicht. Ich habe auch [/.-] schon ausprobiert.</p> <p>Kann mir hierbei jemand weiter helfen?<br> Vielen Dank im Voraus</p> <p>Liebe Grüße<br> Rebecca</p> Regular Expression für ein Datum Fri, 24 Mar 06 08:56:37 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949982#m949982 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949982#m949982 <blockquote> <p>Das bedeutet demnach soviel wie "/" ODER "-". Wenn ich nun ein weiteres ODER (für den Punkt als Trennzeichen) hinzufügen möchte müsste es demnach heissen: [/-.], richtig? Das funktioniert aber nicht. Ich habe auch [/.-] schon ausprobiert.</p> </blockquote> <p>Du musst, soweit ich weiß, nur '/' innerhalb der eckigen Klammern maskieren.<br> Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 08:59:52 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949974#m949974 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949974#m949974 <p>Hell-O!</p> <blockquote> <p>Nun möchte ich aber, dass das Datum auch im Format tt.mm.jjjj gefunden wird, also mit dem Punkt "." als Trennzeichen.</p> </blockquote> <p>Gut, dass du deine Zeichenklasse erweitern musst, hast du schon erkannt. Wie Struppi dir schon sagte, müssen Sonderzeichen in Zeichenklassen nicht maskiert werden.</p> <blockquote> <p>/^\d\d[/-]\d\d[/-]\d\d\d\d$/<br> Kopfzerbrechen bereiten mir die beiden Teile: [/-]</p> </blockquote> <p>Möchtest du nicht lieber Quantifier verwenden? Dann sähe es so aus:</p> <p>/^\d{2}[/.-]\d{2}[/.-]\d{4}$/</p> <p>Allerdings akzeptiert dieser RegExp auch ein Datum wie "99.00.8652", willst du das?</p> <blockquote> <p>Das bedeutet demnach soviel wie "/" ODER "-". Wenn ich nun ein weiteres ODER (für den Punkt als Trennzeichen) hinzufügen möchte müsste es demnach heissen: [/-.], richtig? Das funktioniert aber nicht. Ich habe auch [/.-] schon ausprobiert.</p> </blockquote> <p>Was genau funktioniert nicht? Welche Programmiersprache verwendest du? Gibt es eine Fehlermeldung?</p> <p>Siechfred</p> <div class="signature">-- <br> Hier könnte Ihre Werbung stehen.<br> <a href="http://siechfred.kennt-wayne.de/2006/3/schlechte_cover_hard_and_heavy" rel="nofollow noopener noreferrer">Die schlechtesten Cover aus dem Bereich Hard and Heavy</a> || <a href="http://siechfred.kennt-wayne.de/2006/3/schoene_woerter_1" rel="nofollow noopener noreferrer">Schöne Wörter, Teil 1</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 09:36:28 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949973#m949973 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949973#m949973 <p>Hello out there!</p> <blockquote> <p>ich möchte eine regular Expression für ein Datum festlegen, habe aber ein kleines Problem.<br> […] tt/mm/jjjj oder tt-mm-jjjj […] auch im Format tt.mm.jjjj</p> </blockquote> <p>Willst du damit eine Eingabe in einem Formularfeld prüfen? Dann hast du noch ein Problem; besser gesagt der Nutzer, der das Datum im nach DIN 5008 gültigen <a href="http://de.wikipedia.org/wiki/Datumsformat" rel="nofollow noopener noreferrer">Datumsformat</a> jjjj-mm-dd gemäß ISO 8601 eingibt. Willst du einem Nutzer vorschreiben, das vernünftigste aller Datumsformate nicht zu benutzen?</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 10:46:17 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949961#m949961 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949961#m949961 <blockquote> <p>ich möchte eine regular Expression für ein Datum festlegen, habe aber ein kleines Problem.</p> </blockquote> <p>Mittlerweile Wissen wir, dass du vermutlich lieber das Datum überprüfen willst. Das geht nicht mit einer RegExp.</p> <blockquote> <p>Folgender Fall:</p> <p>um auf ein Datum im Format tt/mm/jjjj oder tt-mm-jjjj herauszufinden verwende ich folgende regular expression:</p> </blockquote> <p>Um ein Datum zu überprüfen, verwende ich folgende Funktion <a href="http://javascript.jstruebig.de/javascript/39/" rel="nofollow noopener noreferrer">http://javascript.jstruebig.de/javascript/39/</a></p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 11:02:21 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949962#m949962 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949962#m949962 <p>Hello out there!</p> <blockquote> <p>Mittlerweile Wissen wir, dass du vermutlich lieber das Datum überprüfen willst. Das geht nicht mit einer RegExp.</p> </blockquote> <p><a href="https://forum.selfhtml.org/?t=126272&m=814389" rel="noopener noreferrer">Und es geht doch.</a></p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 14:57:39 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949963#m949963 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949963#m949963 <p>Hello out there!</p> <p>Was gab’s da auf „nicht hilfreich“ zu clicken? Meine Aussage war lediglich die Berichtigung von Struppis, dass das Prüfen einer Eingabe auf ein gültiges Datum nicht mit einem regulären Ausdruck ginge; denn es geht.</p> <p>Ich wollte keineswegs andeuten, dass man es damit tun sollte.</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 16:29:01 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949965#m949965 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949965#m949965 <p>echo $begrüßung;</p> <blockquote> <p>Was gab’s da auf „nicht hilfreich“ zu clicken?</p> </blockquote> <p>Ich weiß es nicht.</p> <blockquote> <p>Meine Aussage war lediglich die Berichtigung von Struppis, dass das Prüfen einer Eingabe auf ein gültiges Datum nicht mit einem regulären Ausdruck ginge; denn es geht.</p> </blockquote> <p>Auch wenn die Aussage richtig ist, kann sie doch nicht hilfreich sein.</p> <p>Ich könnte mir als Gründe folgende vorstellen:</p> <ul> <li>Theoretisch mag es mit einigem Aufwand möglich sein, eine vollständige Datumsprüfung mit einem regulärem Ausdruck durchzuführen. Wenn ich mir das richtig ausmale kommt da einiges an Zeichen zusammen. Reguläre Ausdrücke sind so schon nicht leicht zu lesen und du willst theoretisch einen erstellen, der mit jeder Menge Zeichen aufgebläht ist, die diverse Teilbarkeitsmuster gefolgt (lookahead) oder vorangegangen (lookbehind) von [schlagmichtot] enthalten - also quasi querbeet durch sämtliche RegExp-Möglichkeiten gehend. Ist sicher theoretisch alles möglich, aber praktisch nicht sehr hilfreich, weil man das eigentliche Ziel mit 3 Zeilen Programmtext einfacher und durchschaubarer erreichen kann.</li> <li>Jemand hat sich verklickt.</li> </ul> <blockquote> <p>Ich wollte keineswegs andeuten, dass man es damit tun sollte.</p> </blockquote> <p>Gut. Ich will mich auch nicht mit dir streiten, weil ich sowieso nicht mehr mithalten kann/will wenn du in die höheren Sphären der Mathematik abdriftest. Aber wenn du Zeit und Muße hast, kannst du ja mal so eine schaltjahrberücksichtigende Datums-RegExp erstellen. Die Kalenderkorrekturen längst vergangener Jahrhunderte kannst du ja für den Anfang erst einmal unberücksichtigt lassen. :-)</p> <p>echo "$verabschiedung $name";</p> Regular Expression für ein Datum Fri, 24 Mar 06 17:29:26 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949964#m949964 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949964#m949964 <blockquote> <p>Was gab’s da auf „nicht hilfreich“ zu clicken?</p> </blockquote> <p>ich war''s nicht</p> <p>:-)</p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> Regular Expression für ein Datum Sat, 25 Mar 06 09:25:32 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949966#m949966 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949966#m949966 <p>Hello out there!</p> <blockquote> <p>Aber wenn du Zeit und Muße hast, kannst du ja mal so eine schaltjahrberücksichtigende Datums-RegExp erstellen. Die Kalenderkorrekturen längst vergangener Jahrhunderte kannst du ja für den Anfang erst einmal unberücksichtigt lassen. :-)</p> </blockquote> <p><code>-?\d*(?:(?:(?:(?:[02468][048]|[13579][26])(?:[02468][048]|[13579][26])|(?:[02468][^048]|[13579][^26])(?:0[48]|[2468][048]|[13579][26]))[-./]?02[-./]?(?:0[1-9]|[12]\d)|(?:(?:[02468][^048]|[13579][^26])00|\d\d(?:[02468][^048]|[13579][^26]))[-./]?02[-./]?(?:0[1-9]|12\d|2[0-8]))|\d{4}[-./]?(?:(?:0[13578]|1[02])[-./]?(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)[-./]?(?:0[1-9]|[12]\d|30)))</code></p> <p>Na, so schwer war’s doch gar nicht. ;-)</p> <p>Der Ausdruck passt auf gültige Daten im Format ISO 8601 (heutige Schaltjahrregel auf gesamten Bereich angewandt). Der Audruck lässt '-', '.' oder '/' als Trennzeichen zu oder auch kein Trennzeichen. Da haben wir ein Manko: Der Ausdruck erkennt nicht, ob zwischen Jahr und Monat sowie zwischen Monat und Tag dasselbe Trennzeichen steht (2006.03/25 würde auch matchen). Ließe sich mit einigem Aufwand beheben (statt <code>foo[-./]?bar[-./]?baz</code> dann <code>foo-bar-baz|foo\.bar\.baz|foo/bar/baz|foobarbaz</code>).</p> <p>Zur Erklärung:</p> <pre><code class="block">-?\d* # für die Ewigkeit (?: (?: (?: (?:[02468][048] | [13579][26]) # Jahrhundert durch 4 teilbar (?:[02468][048] | [13579][26]) # Jahr duch 4 teilbar | (?:[02468][^048] | [13579][^26]) # Jahrhundert nicht durch 4 teilbar (?:0[48] | [2468][048] | [13579][26]) # Jahr duch 4 teilbar außer volle Jahrhunderte ) [-./]? # Trennzeichen 02 # Februar im Schaltjahr [-./]? # Trennzeichen (?:0[1-9] | [12]\d) # 01 bis 29 | (?: (?:[02468][^048] | [13579][^26]) # Jahrhundert nicht durch 4 teilbar 00 # selbsterklärend | \d\d # beliebiges Jahrhundert (?:[02468][^048] | [13579][^26]) # Jahr nicht durch 4 teilbar ) [-./]? # Trennzeichen 02 # Februar im Nicht-Schaltjahr [-./]? # Trennzeichen (?:0[1-9] | 12\d | 2[0-8]) # 01 bis 28 ) | \d{4} # beliebiges Jahr [-./]? # Trennzeichen (?: (?:0[13578] | 1[02]) # langer Monat [-./]? # Trennzeichen (?:0[1-9] | [12]\d | 3[01]) # 01 bis 31 | (?:0[469] | 11) # kurzer Monat [-./]? # Trennzeichen (?:0[1-9] | [12]\d | 30) # 01 bis 30 ) ) </code></pre> <p>See ya up the road, Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Sat, 25 Mar 06 09:34:53 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949967#m949967 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949967#m949967 <p>Hello out there!</p> <p>Wäre auch zu schön gewesen ohne Fehler. So sollte’s passen:</p> <p>-?\d*(?:(?:(?:(?:[02468][048]|[13579][26])(?:[02468][048]|[13579][26])|(?:[02468][^048]|[13579][^26])(?:0[48]|[2468][048]|[13579][26]))[-./]?02[-./]?(?:0[1-9]|[12]\d)|(?:(?:[02468][^048]|[13579][^26])00|\d\d(?:[02468][^048]|[13579][^26]))[-./]?02[-./]?(?:0[1-9]|1\d|2[0-8]))|\d{4}[-./]?(?:(?:0[13578]|1[02])[-./]?(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)[-./]?(?:0[1-9]|[12]\d|30)))</p> <p>Eine '2' war zu viel (trotz Vorschau):</p> <blockquote> <p>(?:0[1-9] | 12\d | 2[0-8])               # 01 bis 28</p> </blockquote> <p>^ die hier muss weg</p> <p>See ya up the road,<br> Ingunnarid</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Sat, 25 Mar 06 17:34:57 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949968#m949968 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949968#m949968 <p>gudn tach!</p> <blockquote> <p>-?\d*(?:(?:(?:(?:[02468][048]|[13579][26])(?:[02468][048]|[13579][26])|(?:[02468][^048]|[13579][^26])(?:0[48]|[2468][048]|[13579][26]))[-./]?02[-./]?(?:0[1-9]|[12]\d)|(?:(?:[02468][^048]|[13579][^26])00|\d\d(?:[02468][^048]|[13579][^26]))[-./]?02[-./]?(?:0[1-9]|1\d|2[0-8]))|\d{4}[-./]?(?:(?:0[13578]|1[02])[-./]?(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)[-./]?(?:0[1-9]|[12]\d|30)))</p> </blockquote> <p>geil!<br> aaaber es sind noch immer fehler drin, weil durch die negierten zeichenklassen z.b. '2a04-02-01' zugelassen wird.</p> <blockquote> <p>-?\d*                                        # für die Ewigkeit</p> </blockquote> <p>lol! wenn also 9999-12-31 kurz nach 23:59 alles den bach runter geht, weil niemand der grossen betriebssystem-hersteller an das y10k-problem dachte, laeuft dein regexp noch munter weiter und streckt der anderen software die zunge heraus. ;-)</p> <p>es geht uebrigens noch kuerzer, wenn man die nicht-schaltjahre als teilmenge der menge der beliebigen jahre ansieht:</p> <p>/-?\d*(?:(?:(?:[02468][048]|[13579][26])(?:[02468][048]|[13579][26])|(?:[02468][1-35-79]|[13579][013-57-9])(?:0[48]|[2468][048]|[13579][26]))([-./]?)02\1 29|\d{4}([-./]?)(?:(?:0[13578]|1[02])\2(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)\2(?:0[1-9]|[12]\d|30)|02\2(?:0[1-9]|1\d|2[0-8])))/x</p> <p>bzw. kommentiert:</p> <pre><code class="block language-perl"> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$date</span><span class="token operator">=~</span><span class="token operator">/</span><span class="token operator">-</span><span class="token operator">?</span><span class="token operator">\</span>d<span class="token operator">*</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span> <span class="token comment"># 29. feb. im schaltjahr </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">02468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahrhundert durch 4 teilbar </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">02468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahr durch 4 teilbar </span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">02468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">35</span><span class="token operator">-</span><span class="token number">79</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">013</span><span class="token operator">-</span><span class="token number">57</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahrhundert nicht durch 4 teilbar </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">48</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">2468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahr durch 4 teilbar ausser volle jahrhunderte </span> <span class="token punctuation">)</span> <span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token operator">.</span><span class="token operator">\</span><span class="token operator">/</span><span class="token punctuation">]</span><span class="token operator">?</span><span class="token punctuation">)</span> <span class="token comment"># separator \1 </span> <span class="token number">02</span><span class="token operator">\</span><span class="token number">1</span> <span class="token number">29</span> <span class="token comment"># 29. feb.; wiederholung des separators </span> <span class="token operator">|</span> <span class="token operator">\</span>d<span class="token punctuation">{</span><span class="token number">4</span><span class="token punctuation">}</span> <span class="token comment"># beliebiges jahr </span> <span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token operator">.</span><span class="token operator">\</span><span class="token operator">/</span><span class="token punctuation">]</span><span class="token operator">?</span><span class="token punctuation">)</span> <span class="token comment"># separator \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">13578</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">1</span><span class="token punctuation">[</span><span class="token number">02</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># langer monat </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">12</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">3</span><span class="token punctuation">[</span><span class="token number">01</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 31 </span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">469</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">11</span><span class="token punctuation">)</span> <span class="token comment"># kurzer monat </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">12</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">30</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 30 </span> <span class="token operator">|</span> <span class="token number">02</span> <span class="token comment"># februar </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">1</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">2</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token operator">-</span><span class="token number">8</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 28 </span> <span class="token punctuation">)</span> <span class="token punctuation">)</span><span class="token operator">/</span><span class="token operator">x</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token keyword">print</span> <span class="token string">'valid'</span><span class="token operator">.</span><span class="token string">"\n"</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span> <span class="token keyword">print</span> <span class="token string">'not valid!'</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>hierbei habe ich uebrigens durch backreferencing noch eingebaut, dass man zwei mal dasselbe trennzeichen (was noch immer iso-konform auch der leere string sein darf) verwenden muss.</p> <p>bei bedarf kann man noch ein ^ an den anfang und ein $ an das ende stellen, falls man nicht nur ein datum sucht, sondern wissen will, ob der komplette string eine datumsangabe sein koennte.</p> <p>jetzt hakt der test allerdings noch immer, weil der gregorianische kalender erst 1582 eingefuehrt (und deshalb z.b. der oktober 1582 radikal verkuerzt) wurde (siehe <a href="http://de.wikipedia.org/wiki/Schaltjahr#Gregorianischer_Kalender" rel="nofollow noopener noreferrer">wikipedia</a>).</p> <p>dadurch wuerde der check dann wieder etwas laenger werden. ich poste aber mal nur den teil, der fuer die jahre 1583 bis 9999 zustaendig waere. fuer die zusaetzlichen jahre ab 10000 koennte man beide ausdruecke (also den obigen und den folgenden) mit einem dicken OR kombinieren.</p> <pre><code class="block language-perl"> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$date</span><span class="token operator">=~</span><span class="token operator">/</span><span class="token comment"># laesst nur jahre 1583 bis 9999 zu </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span> <span class="token comment"># 29. feb. im schaltjahr </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">2468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">16</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">3579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahrhundert durch 4 teilbar </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">02468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahr durch 4 teilbar </span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">2468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">35</span><span class="token operator">-</span><span class="token number">79</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">1</span><span class="token punctuation">[</span><span class="token number">789</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">3579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">013</span><span class="token operator">-</span><span class="token number">57</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahrhundert nicht durch 4 teilbar </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">48</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">2468</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">048</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">13579</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># jahr durch 4 teilbar ausser volle jahrhunderte </span> <span class="token operator">|</span> <span class="token number">15</span><span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">88</span><span class="token operator">|</span><span class="token number">9</span><span class="token punctuation">[</span><span class="token number">26</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># beachtung der einfuehrung des gregor. kalenders </span> <span class="token punctuation">)</span> <span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token operator">.</span><span class="token operator">\</span><span class="token operator">/</span><span class="token punctuation">]</span><span class="token operator">?</span><span class="token punctuation">)</span> <span class="token comment"># separator \1 </span> <span class="token number">02</span><span class="token operator">\</span><span class="token number">1</span> <span class="token number">29</span> <span class="token comment"># 29. feb.; wiederholung des separators \1 </span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token punctuation">[</span><span class="token number">2</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">\</span>d<span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">1</span><span class="token punctuation">[</span><span class="token number">6</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">159</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">158</span><span class="token punctuation">[</span><span class="token number">3</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># beliebiges jahr, ab 1583 </span> <span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token operator">.</span><span class="token operator">\</span><span class="token operator">/</span><span class="token punctuation">]</span><span class="token operator">?</span><span class="token punctuation">)</span> <span class="token comment"># separator \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">13578</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">1</span><span class="token punctuation">[</span><span class="token number">02</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># langer monat </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">12</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">3</span><span class="token punctuation">[</span><span class="token number">01</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 31 </span> <span class="token operator">|</span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">469</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">11</span><span class="token punctuation">)</span> <span class="token comment"># kurzer monat </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span><span class="token number">12</span><span class="token punctuation">]</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">30</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 30 </span> <span class="token operator">|</span> <span class="token number">02</span> <span class="token comment"># februar </span> <span class="token operator">\</span><span class="token number">2</span> <span class="token comment"># wiederholung \2 </span> <span class="token punctuation">(</span><span class="token operator">?</span><span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token operator">-</span><span class="token number">9</span><span class="token punctuation">]</span><span class="token operator">|</span><span class="token number">1</span><span class="token operator">\</span>d<span class="token operator">|</span><span class="token number">2</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token operator">-</span><span class="token number">8</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token comment"># 01 bis 28 </span> <span class="token punctuation">)</span><span class="token operator">/</span><span class="token operator">x</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token keyword">print</span> <span class="token string">'valid'</span><span class="token operator">.</span><span class="token string">"\n"</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token keyword">else</span><span class="token punctuation">{</span> <span class="token keyword">print</span> <span class="token string">'not valid!'</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>getestet habe ich den kram jetzt allerdings nicht, das darf jemand anders machen. *duck*</p> <p>prost<br> seth</p> Regular Expression für ein Datum Sat, 25 Mar 06 18:54:10 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949969#m949969 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949969#m949969 <p>Hello out there!</p> <blockquote> <p>aaaber es sind noch immer fehler drin, weil durch die negierten zeichenklassen z.b. '2a04-02-01' zugelassen wird.</p> </blockquote> <p>Argl. Da wollte ich an der falschen Stelle ein paar Zeichen sparen.</p> <p>Also [1235679] statt [^048]. [1-35-79] spart wohl nichts. Geht eigentlich auch sowas: [\d^048]?</p> <blockquote> <p>weil niemand der grossen betriebssystem-hersteller an das y10k-problem dachte</p> </blockquote> <p>LOL.</p> <p>Eigentlich dachte ich an die heutigen Bedürfnisse – der Wahrsager, die heute schon das Ende der Welt für 10235-10-21T16:23Z vorhersagen.</p> <blockquote> <p>jetzt hakt der test allerdings noch immer, weil der gregorianische kalender erst 1582 eingefuehrt</p> </blockquote> <p>Das Wann ist abhängig vom Wo.</p> <p>Und ja, das Problem war mir bewusst, das wollte ich mit „heutige Schaltjahrregel auf gesamten Bereich angewandt“ angedeutet haben.</p> <blockquote> <p>hierbei habe ich uebrigens durch backreferencing noch eingebaut</p> </blockquote> <p>Verdient das dann eigentlich noch den Namen „regulärer Ausdruck“ im Sinne der theoretischen Informatik? Oder werden damit nicht reguläre, sondern kontextsensitive Sprachen beschrieben? Mal nachdenken ...</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Sat, 25 Mar 06 20:58:53 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949970#m949970 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949970#m949970 <p>gudn tach Gunnar!</p> <blockquote> <p>Also [1235679] statt [^048]. [1-35-79] spart wohl nichts.</p> </blockquote> <p>ja, ist imho bloss etwas uebersichtlicher.</p> <blockquote> <p>Geht eigentlich auch sowas: [\d^048]?</p> </blockquote> <p>ja, aber es matcht nicht, was moechtest. innerhalb von zeichenklassen-definitionen gilt: negiert ^ die zeichenklasse nur dann, wenn es das erste zeichen nach [ ist. sonst hat es keine meta-bedeutung.</p> <p>was du moechtest, laesst sich dennoch bewerkstelligen, und zwar mit dem alten hellseher-trick:<br> /(?=\d)[^048]/</p> <p>(?=\d) verlangt, dass das naechste zeichen eine ziffer ist.<br> [^048] verlangt, dass das zeichen weder 0, 4 noch 8 sein darf.</p> <blockquote> <blockquote> <p>weil niemand der grossen betriebssystem-hersteller an das y10k-problem dachte</p> </blockquote> <p>LOL.</p> <p>Eigentlich dachte ich an die heutigen Bedürfnisse – der Wahrsager, die heute schon das Ende der Welt für 10235-10-21T16:23Z vorhersagen.</p> </blockquote> <p>aeh, hat das mit 10235 einen hintergrund? (man weiss ja nie.)</p> <blockquote> <blockquote> <p>jetzt hakt der test allerdings noch immer, weil der gregorianische kalender erst 1582 eingefuehrt</p> </blockquote> <p>Das Wann ist abhängig vom Wo.</p> </blockquote> <p>ja, das ist wahr. aber ich dachte, dass (heutzutage) die daten vor 1582 normalerweise nicht nach dem greg. (sondern dem julianischen) kalender angegeben werden.<br> ach ja, und bei deinem regulaeren ausdruck war noch nicht beruecksichtigt, dass es das jahr 0 nicht gab.</p> <blockquote> <p>Und ja, das Problem war mir bewusst [..]</p> </blockquote> <p>wollte ich auch gar nicht infrage stellen, sondern bloss noch als verbesserung vorschlagen.</p> <blockquote> <blockquote> <p>hierbei habe ich uebrigens durch backreferencing noch eingebaut</p> </blockquote> <p>Verdient das dann eigentlich noch den Namen „regulärer Ausdruck“ im Sinne der theoretischen Informatik?</p> </blockquote> <p>nein.</p> <blockquote> <p>Oder werden damit nicht reguläre, sondern kontextsensitive Sprachen beschrieben? Mal nachdenken ...</p> </blockquote> <p>beides.</p> <p>prost<br> seth</p> Regular Expression für ein Datum Sat, 25 Mar 06 22:27:58 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949971#m949971 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949971#m949971 <p>Hello out there!</p> <blockquote> <blockquote> <p>Also [1235679] statt [^048]. [1-35-79] spart wohl nichts.<br> ja, ist imho bloss etwas uebersichtlicher.</p> </blockquote> </blockquote> <p>YMMV, aber ich erspare mir lieber die Überlegung, wofür der '-' steht.</p> <blockquote> <p>dass es das jahr 0 nicht gab.</p> </blockquote> <p>War mir auch so. Im aktuellen Wikipedia-Artikel las sich das aber anders. Aber schon möglich, dass der sich nicht auf eine aktuelle Version der ISO-Norm bezieht.</p> <p>Doc Emmett Brown: “...or witness the birth of Christ?” ("DEC 25 0000" auf dem Display im DeLorean)</p> <blockquote> <blockquote> <p>Oder werden damit nicht reguläre, sondern kontextsensitive Sprachen beschrieben? Mal nachdenken ...<br> beides.</p> </blockquote> </blockquote> <p>:-) Ja, die Frage war ja schon blöd gestellt; Teilmenge und so. „nicht _nur_ reguläre“ hätt besser geklungen.</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Sat, 25 Mar 06 23:49:09 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949972#m949972 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949972#m949972 <p>gudn tach Gunnar!</p> <blockquote> <blockquote> <p>dass es das jahr 0 nicht gab.</p> </blockquote> <p>War mir auch so. Im aktuellen Wikipedia-Artikel las sich das aber anders. Aber schon möglich, dass der sich nicht auf eine aktuelle Version der ISO-Norm bezieht.</p> </blockquote> <p>oh, ich hab's erst jetzt <a href="http://de.wikipedia.org/wiki/Jahr_Null" rel="nofollow noopener noreferrer">nachgelesen</a>.<br> zumindest scheint es weitaus komplizierter (z.b. "Dieses Jahr Null beginnt am 3. Januar 1 vor und endet am 2. Januar 1 nach Christus") zu sein, als ich bisher annahm. nun gut, dann war dein jahr 0 wohl je nach norm doch kein fehler.</p> <blockquote> <p>Doc Emmett Brown: “...or witness the birth of Christ?” ("DEC 25 0000" auf dem Display im DeLorean)</p> </blockquote> <p>hihi, ist mir damals gar nicht aufgefallen, aber jetzt wo du's sagst...</p> <p>prost<br> seth</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:08:37 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949975#m949975 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949975#m949975 <p>Hallo,<br> danke für die Antwort.</p> <blockquote> <p>Möchtest du nicht lieber Quantifier verwenden? Dann sähe es so aus:</p> <p>/^\d{2}[/.-]\d{2}[/.-]\d{4}$/</p> </blockquote> <p>Das kannte ich noch nicht. Schaut besser aus, ja.</p> <blockquote> <p>Allerdings akzeptiert dieser RegExp auch ein Datum wie "99.00.8652", willst du das?</p> </blockquote> <p>Nein das will ich nicht. Das war aber auch im Format /d/d/d/d auch der Fall. Kann man das mit RegExp einschränken, so dass nur Jahreszahlen von 0000 bis 2099 möglich sind? Ob es Sinn macht weiss ich allerdings noch nicht;-)</p> <blockquote> <p>Was genau funktioniert nicht? Welche Programmiersprache verwendest du? Gibt es eine Fehlermeldung?</p> </blockquote> <p>Es kam die Meldung "Invalid Range in character class". Das ganze in JavaScript. Ich hab allerdings [./-] verwendet und so funktionierts. Nun werden die Trennzeichen "/", "-" und "." akzeptiert.</p> <p>Liebe Grüße<br> Rebecca</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:26:59 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949980#m949980 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949980#m949980 <blockquote> <blockquote> <p>Allerdings akzeptiert dieser RegExp auch ein Datum wie "99.00.8652", willst du das?<br> Nein das will ich nicht. Das war aber auch im Format /d/d/d/d auch der Fall. Kann man das mit RegExp einschränken, so dass nur Jahreszahlen von 0000 bis 2099 möglich sind? Ob es Sinn macht weiss ich allerdings noch nicht;-)</p> </blockquote> </blockquote> <p>Ja, das geht mit <a href="http://forum.de.selfhtml.org/archiv/2005/6/t109413/#m683611" rel="nofollow noopener noreferrer">Lookarounds</a>.</p> <blockquote> <p>Es kam die Meldung "Invalid Range in character class". Das ganze in JavaScript.</p> </blockquote> <p>Du hast nicht bedacht, dass ein "-" innerhalb einer Zeichenklasse ein "von ... bis" kennzeichnet. Schreibst du beispielsweise "[0-9]", beinhaltet die Zeichenklasse die Ziffern 0 bis 9. Wenn du schreibst [/-.], interpretiert Javascript dies als "alle Zeichen vom Slash bis zum Punkt", was aber falsch ist, da laut <a href="http://www.torsten-horn.de/techdocs/ascii.htm" rel="nofollow noopener noreferrer">ASCII-Tabelle</a> erst der Punkt und dann der Slash kommt. Ergo ist ein "von ... bis" unlogisch, was Javascript dir mit der Fehlermeldung signalisiert hat. Auf die Besonderheit des Bindestrichs hatte ich in <a href="http://forum.de.selfhtml.org/archiv/2006/3/t125050/#m806071" rel="nofollow noopener noreferrer">diesem Posting</a> schon hingewiesen.</p> <blockquote> <p>Ich hab allerdings [./-] verwendet und so funktionierts.</p> </blockquote> <p>Ja, weil der Bindestrich am Ende steht und somit nicht die Funktion eines "von ... bis" haben kann. Übrigens erlaubst du auch den Backslash als Trennzeichen, es sei denn, es soll der Maskierung dienen, die jedoch innerhalb von Zeichenklassen nicht nötig ist. Deine Zeichenklasse sieht daher so aus: "[/.-]".</p> <p>Siechfred</p> <div class="signature">-- <br> Hier könnte Ihre Werbung stehen.<br> <a href="http://siechfred.kennt-wayne.de/2006/3/schlechte_cover_hard_and_heavy" rel="nofollow noopener noreferrer">Die schlechtesten Cover aus dem Bereich Hard and Heavy</a> || <a href="http://siechfred.kennt-wayne.de/2006/3/schoene_woerter_1" rel="nofollow noopener noreferrer">Schöne Wörter, Teil 1</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 10:01:10 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949977#m949977 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949977#m949977 <p>echo $begrüßung;</p> <blockquote> <blockquote> <p>Allerdings akzeptiert dieser RegExp auch ein Datum wie "99.00.8652", willst du das?<br> Nein das will ich nicht. [...] Kann man das mit RegExp einschränken, so dass nur Jahreszahlen von 0000 bis 2099 möglich sind? Ob es Sinn macht weiss ich allerdings noch nicht;-)</p> </blockquote> </blockquote> <p>Damit löst du vielleicht das Jahreszahlenproblem. Den Monat zu prüfen ist auch noch einfach. Aber nun geht es mit dem Tag weiter. Der ist abhängig von Monat und Jahr. Mit einer RegExp kannst du nicht rechnen. Zum Beispiel ist das Prüfen auf Durch-4-Teilbarkeit ist nicht möglich. Damit stößt du an die Grenzen einer Musterprüfung.</p> <p>Wenn du die Datumsprüfung nicht nur zum Üben machst, schlage ich vor, dass du dir eine fertige Datumsklasse oder Datumsprüffunktion für deine Programmiersprache suchst oder selbst programmierst.</p> <p>echo "$verabschiedung $name";</p> Regular Expression für ein Datum Fri, 24 Mar 06 10:15:55 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949976#m949976 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949976#m949976 <p>Hello out there!</p> <blockquote> <p>Kann man das mit RegExp einschränken, so dass nur Jahreszahlen von 0000 bis 2099 möglich sind? Ob es Sinn macht weiss ich allerdings noch nicht;-)</p> </blockquote> <p>Wenn du auf ein gültiges Datum prüfen willst, muss du auch die unterschiedlichen Monatslängen berücksichtigen, dazu auch Schaltjahre, je nach Zeitrahmrn dabei auch die 400-Jahre-Regel.</p> <p>All das geht mit einem regulären Ausdruck, der aber ziemlich kopliziert sein dürfte. Ob es Sinn macht ...</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 10:31:48 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949978#m949978 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949978#m949978 <p>Hello out there!</p> <blockquote> <p>Mit einer RegExp kannst du nicht rechnen. Zum Beispiel ist das Prüfen auf Durch-4-Teilbarkeit ist nicht möglich.</p> </blockquote> <p>Na aber sicher ist es das.</p> <p>Ich hab vor ein paar Tagen mal einen deterministischen endlichen Automaten (DFA) gebaut, der Daten (ISO 8601) erkennt (incl. Schaltjahrregel). Die Mengen der von DFAs erkannten Sprachen (Eingaben) und der von regulären Ausdrücken erkannten sind identisch – das ist die Menge der regulären (Typ 3 in der Chomsky-Hierarchie) Sprachen.</p> <p>Also gibt es auch einen regulären Ausdruck für Daten. Wie komplizeiert der ist, ist eine andere Frage.</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 14:43:40 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949979#m949979 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949979#m949979 <p>Hello out there!</p> <blockquote> <blockquote> <p>Mit einer RegExp kannst du nicht rechnen. Zum Beispiel ist das Prüfen auf Durch-4-Teilbarkeit ist nicht möglich.</p> </blockquote> <p>Na aber sicher ist es das.</p> </blockquote> <p>... denn bei der Teilbarkeit durch 4 ist gar kein Rechnen erforderlich, sondern nur Zeichenverarbeitung; wie bei der Teilbarkeit durch alle Zahlen der Form [latex]2^m \cdot 5^n \quad (m, n \in \mathbb{N})[/latex]</p> <p>Bei m = n (Teilbarkeit durch Zehnerpotenzen) ist es trivial: \d*0$ matcht alle durch 10 teilbaren Zahlen usw.</p> <p>Bei m = n + 1 auch einfach: \d*[05]$ matcht alle durch 5 teilbaren Zahlen</p> <p>Bei m = n - 1 auch einfach: \d*[02468]$ matcht alle durch 2 teilbaren Zahlen</p> <p>Bei m = n + 2 und m = n - 2 (z.B. Teilbarkeit durch 25 bzw. 4) muss man sich noch die vorletzte Stelle mit ansehen, bei noch größerer Differenz zwischen m und n entsprechend mehr.</p> <p>Je größer die Differenz zwischen m und n ist, desto komplizierter wird der reguläre Ausdruck, aber möglich ist es immer.</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div> Regular Expression für ein Datum Fri, 24 Mar 06 10:31:34 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949981#m949981 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949981#m949981 <p>Hallo Siechfried,</p> <p>vielen Dank für Deine Antwort. Scheinst ein Profi in Sachen regular expressions zu sein.</p> <p>Dein Posting war sehr detailliert und aufschlußreich.</p> <p>Liebe Grüße<br> Rebecca</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:01:44 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949983#m949983 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949983#m949983 <p>Hallo Struppi,<br> danke für die Antwort.</p> <blockquote> <p>Du musst, soweit ich weiß, nur '/' innerhalb der eckigen Klammern maskieren.</p> </blockquote> <p>wenn ich aber [/-.] verwende erscheint eine Fehlermeldung "invalid range in character class". Was bedeutet das?</p> <p>Ich habe nun [./-] verwendet und es funktioniert.<br> Danke</p> <p>Liebe Grüße<br> Rebecca</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:38:28 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949984#m949984 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949984#m949984 <p>gudn tach!</p> <blockquote> <blockquote> <p>Du musst, soweit ich weiß, nur '/' innerhalb der eckigen Klammern maskieren.</p> </blockquote> </blockquote> <p>brackets und minus-zeichen u.u. auch.</p> <blockquote> <p>wenn ich aber [/-.] verwende erscheint eine Fehlermeldung "invalid range in character class". Was bedeutet das?</p> </blockquote> <p>mit dem - gibt man in character classes (zeichenklassen), also den in brackets (eckigen klammern) eingeschlossenen zeichen, einen bereich (range) an.<br> beispiele:<br> [2-6] ist die zeichenklasse der ziffern 2 bis 6, man koennte auch [23456] schreiben.<br> [a-z] ist die zeichenklasse der zeichen a bis z, also der 26 konventionellen kleinbuchstaben.<br> "invalid range in character class" heisst also, dass der bereich [/-.], also alle zeichen vom / bis zum ., nicht zugelassen ist.</p> <p>wenn das - nicht als "bis" verwendet werden soll, muss es maskiert werden oder z.b. am ende der klasse stehen.[1]</p> <blockquote> <p>Ich habe nun [./-] verwendet und es funktioniert.</p> </blockquote> <p>wundert mich. eigentlich haette ich erwartet, dass eine fehlermeldung kommt a la "end of character class expected".</p> <p>[1] <a href="http://perldoc.perl.org/perlre.html" rel="nofollow noopener noreferrer">link zum thema, mit mehr details</a></p> <p>prost<br> seth</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:47:20 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949994#m949994 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949994#m949994 <p>gudn tach!</p> <blockquote> <blockquote> <blockquote> <p>Du musst, soweit ich weiß, nur '/' innerhalb der eckigen Klammern maskieren.</p> </blockquote> </blockquote> <p>brackets und minus-zeichen u.u. auch.</p> </blockquote> <p>nee. "auch" stimmt nicht. '/' braucht innerhalb von character classes nicht maskiert zu werden.</p> <p>prost<br> seth</p> Regular Expression für ein Datum Fri, 24 Mar 06 09:50:53 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949985#m949985 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949985#m949985 <p>Hell-O!</p> <blockquote> <p>brackets und minus-zeichen u.u. auch.</p> </blockquote> <p>Ja, aber nicht zwingend, kommt drauf an, wo sie stehen. Übrigens, kennst du einen Anwendungsfall, in dem der Slash in einer Zeichenklasse maskiert werden müsste? Mir ist jedenfalls keiner bekannt.</p> <blockquote> <p>wenn das - nicht als "bis" verwendet werden soll, muss es maskiert werden oder z.b. am ende der klasse stehen.[1]</p> </blockquote> <p>Oder am Anfang.</p> <blockquote> <p>[1] <a href="http://perldoc.perl.org/perlre.html" rel="nofollow noopener noreferrer">link zum thema, mit mehr details</a></p> </blockquote> <p><a href="http://perldoc.perl.org/perlre.html#Version-8-Regular-Expressions-regular-expression%2c-version-8-regex%2c-version-8-regexp%2c-version-8" rel="nofollow noopener noreferrer">Link zu den Details</a> ;-)</p> <blockquote> <p>prost</p> </blockquote> <p>Mahlzeit.</p> <p>Siechfred</p> <div class="signature">-- <br> Hier könnte Ihre Werbung stehen.<br> <a href="http://siechfred.kennt-wayne.de/2006/3/schlechte_cover_hard_and_heavy" rel="nofollow noopener noreferrer">Die schlechtesten Cover aus dem Bereich Hard and Heavy</a> || <a href="http://siechfred.kennt-wayne.de/2006/3/schoene_woerter_1" rel="nofollow noopener noreferrer">Schöne Wörter, Teil 1</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 10:00:08 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949993#m949993 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949993#m949993 <p>gudn tach!</p> <blockquote> <blockquote> <p>brackets und minus-zeichen u.u. auch.</p> </blockquote> <p>Ja, aber nicht zwingend, kommt drauf an, wo sie stehen.</p> </blockquote> <p>u.u. = unter umstaenden. ;-)</p> <blockquote> <p>Übrigens, kennst du einen Anwendungsfall, in dem der Slash in einer Zeichenklasse maskiert werden müsste?</p> </blockquote> <p>habe mich noch nach ingrid-manier <a href="https://forum.selfhtml.org/?t=126272&m=814357" rel="noopener noreferrer">korrigiert</a>.<br> aber das back-slash muss iirc u.u. maskiert werden ([x\d] vs. [x\d]).</p> <blockquote> <blockquote> <p>wenn das - nicht als "bis" verwendet werden soll, muss es maskiert werden oder z.b. am ende der klasse stehen.[1]</p> </blockquote> <p>Oder am Anfang.</p> </blockquote> <p>...oder z.b. zwischen \d und \w (innerhalb einer klassendefinition)... deswegen habe ich "z.b." geschrieben und die fussnote gesetzt. ;-p</p> <p>prost<br> seth</p> Regular Expression für ein Datum Fri, 24 Mar 06 18:39:02 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949986#m949986 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949986#m949986 <p>gudn tach!</p> <blockquote> <p>kennst du einen Anwendungsfall, in dem der Slash in einer Zeichenklasse maskiert werden müsste? Mir ist jedenfalls keiner bekannt.</p> </blockquote> <p><a href="http://javascript.jstruebig.de/javascript/39/" rel="nofollow noopener noreferrer">Struppi berichtet afais von sowas.</a></p> <p>prost<br> seth</p> Regular Expression für ein Datum Fri, 24 Mar 06 19:57:03 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949987#m949987 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949987#m949987 <blockquote> <blockquote> <p>kennst du einen Anwendungsfall, in dem der Slash in einer Zeichenklasse maskiert werden müsste? Mir ist jedenfalls keiner bekannt.</p> </blockquote> <p><a href="http://javascript.jstruebig.de/javascript/39/" rel="nofollow noopener noreferrer">Struppi berichtet afais von sowas.</a></p> </blockquote> <p>Ich weiß auch nicht wie ich die Fehler anders deuten soll:</p> <p>Ich hab auf den Seiten einen Error Log eingebaut:</p> <p>Borwser String: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060130 Red Hat/1.7.12-1.4.2<br> Fehler: unterminated character class<br> Zeile: 188<br> Datei: http://javascript.jstruebig.de/javascript/39/</p> <p>Die Zeile sah vormals so aus:<br> string = string.replace(/[-/]/g, '.'); // Trennzeichen normalisieren</p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 22:36:50 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949991#m949991 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949991#m949991 <p>gudn tach!</p> <blockquote> <p>Ich hab auf den Seiten einen Error Log eingebaut:</p> </blockquote> <p>oh, <a href="http://javascript.jstruebig.de/js/errorlog.js" rel="nofollow noopener noreferrer">das</a> ist ja geil!</p> <blockquote> <p>Borwser String: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060130 Red Hat/1.7.12-1.4.2</p> </blockquote> <p>hui, ist der fehler von heute nachmittag so zwischen 14:00 und 15:00? dann koennte ich das gewesen sein? bei mir funzte das script naemlich nicht, aber aus zeitgruenden habe ich mich nicht naeher damit befasst. ich kann am montag noch mal danach schauen.</p> <p>prost<br> seth</p> Regular Expression für ein Datum Sat, 25 Mar 06 11:26:23 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949988#m949988 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949988#m949988 <p>Hell-O!</p> <blockquote> <blockquote> <p><a href="http://javascript.jstruebig.de/javascript/39/" rel="nofollow noopener noreferrer">Struppi berichtet afais von sowas.</a><br> Ich weiß auch nicht wie ich die Fehler anders deuten soll:<br> Fehler: unterminated character class</p> </blockquote> </blockquote> <p>Den es sinnigerweise nur bei string.replace gibt. Scheinbar verwirrt Javascript (und nur Javascript!) der zweite Slash, der nach dort geltender Lesart den RegExp beendet. Leider scheint JS keinen anderen Begrenzer zu akzeptieren. Ich habe das mal kurz getestet:</p> <pre><code class="block language-javascript"><span class="token keyword">var</span> foo <span class="token operator">=</span> window<span class="token punctuation">.</span><span class="token function">prompt</span><span class="token punctuation">(</span><span class="token string">'Foo sei ...'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// hier muss nichts maskiert werden: </span> <span class="token keyword">var</span> re <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">'^[0-9][-./][0-9]$'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span>re<span class="token punctuation">.</span><span class="token function">test</span><span class="token punctuation">(</span>foo<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token function">alert</span><span class="token punctuation">(</span>foo<span class="token operator">+</span><span class="token string">' passt'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">else</span> <span class="token function">alert</span><span class="token punctuation">(</span>foo<span class="token operator">+</span><span class="token string">' passt nicht'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// hier muss zwingend der Slash maskiert werden: </span> foo <span class="token operator">=</span> foo<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">[-.\/]</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">,</span> <span class="token string">'#'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">alert</span><span class="token punctuation">(</span>foo<span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Zusammengefasst scheint es zu bedeuten:</p> <p>Wird ein neues RegExp-Objekt erzeugt, verhält sich die Zeichenklasse wie von mir aus der Perl-Welt erwartet. Sobald man den RegExp ungequoted in einem replace, match oder search notiert bzw. die JS-eigene Automatik zur Erzeugung eines Regulären Ausdrucks (<code class="language-Javascript"><span class="token keyword">var</span> re <span class="token operator">=</span> <span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">whatever</span><span class="token regex-delimiter">/</span></span><span class="token punctuation">;</span></code>) nutzt, ist jeder Slash, der kein Begrenzer ist, zumindest in JS zwingend zu maskieren.</p> <p>Aber vielleicht ergeben eure Tests ja noch was ganz anderes.</p> <p>Siechfred</p> <div class="signature">-- <br> Hier könnte Ihre Werbung stehen.<br> <a href="http://siechfred.kennt-wayne.de/2006/3/schlechte_cover_hard_and_heavy" rel="nofollow noopener noreferrer">Die schlechtesten Cover aus dem Bereich Hard and Heavy</a> || <a href="http://siechfred.kennt-wayne.de/2006/3/schoene_woerter_1" rel="nofollow noopener noreferrer">Schöne Wörter, Teil 1</a> </div> Regular Expression für ein Datum Tue, 28 Mar 06 08:58:08 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949989#m949989 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949989#m949989 <p>gudn tach!</p> <blockquote> <p>Scheinbar verwirrt Javascript (und nur Javascript!) der zweite Slash, der nach dort geltender Lesart den RegExp beendet.</p> </blockquote> <p>s/scheinbar /anscheinend /i<br> s/(.+!) //</p> <p>in perl kann das auch zu problemen fuehren:</p> <p>text.pl</p> <pre><code class="block language-perl"> <span class="token number">1</span> <span class="token comment">#!/usr/bin/perl </span> <span class="token number">2</span> <span class="token keyword">use</span> strict<span class="token punctuation">;</span> <span class="token number">3</span> <span class="token number">4</span> <span class="token keyword">my</span> <span class="token variable">$str</span><span class="token operator">=</span><span class="token string">'/prost/seth/'</span><span class="token punctuation">;</span> <span class="token number">5</span> <span class="token variable">$str</span><span class="token operator">=~</span><span class="token regex">s/[/]/</span><span class="token operator">\</span>n<span class="token operator">/</span>g<span class="token punctuation">;</span> <span class="token number">6</span> <span class="token keyword">print</span> <span class="token variable">$str</span><span class="token punctuation">;</span> </code></pre> <p>$ ./text.pl<br> Unmatched [ in regex; marked by <-- HERE in m/[ <-- HERE / at text.pl line 5.</p> <p>dagegen:<br> text.pl</p> <pre><code class="block language-perl"> <span class="token number">1</span> <span class="token comment">#!/usr/bin/perl </span> <span class="token number">2</span> <span class="token keyword">use</span> strict<span class="token punctuation">;</span> <span class="token number">3</span> <span class="token number">4</span> <span class="token keyword">my</span> <span class="token variable">$str</span><span class="token operator">=</span><span class="token string">'/prost/seth/'</span><span class="token punctuation">;</span> <span class="token number">5</span> <span class="token variable">$str</span><span class="token operator">=~</span><span class="token regex">s/[\/]/\n/g</span><span class="token punctuation">;</span> <span class="token number">6</span> <span class="token keyword">print</span> <span class="token variable">$str</span><span class="token punctuation">;</span> </code></pre> <p>$ ./text.pl</p> <p>prost<br> seth</p> Regular Expression für ein Datum Tue, 28 Mar 06 12:18:28 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949990#m949990 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949990#m949990 <p>Hell-O!</p> <blockquote> <p>in perl kann das auch zu problemen fuehren:</p> </blockquote> <p>Ja, du hast Recht. Allerdings stellte sich bei mir bisher nicht das Problem, da ich als Begrenzer immer etwas nehme, was im RegExp selber nicht vorkommt (meistens die Tilde), um mir soweit möglich das leidige Maskieren zu ersparen.</p> <blockquote> <p>$str=~s/[/]/\n/g;</p> </blockquote> <p>Sähe bei mir dann so aus:</p> <p>$str =~ s~[/]~\n~g;</p> <p>und funktioniert ohne Maskierung und ohne Fehlermeldung. Wie gesagt, JS scheint aber keinen anderen Begrenzer als den Slash zu akzeptieren.</p> <p>Siechfred</p> <div class="signature">-- <br> Hier könnte Ihre Werbung stehen.<br> <a href="http://siechfred.kennt-wayne.de/2006/3/schlechte_cover_hard_and_heavy" rel="nofollow noopener noreferrer">Die schlechtesten Cover aus dem Bereich Hard and Heavy</a> || <a href="http://siechfred.kennt-wayne.de/2006/3/schoene_woerter_1" rel="nofollow noopener noreferrer">Schöne Wörter, Teil 1</a> </div> Regular Expression für ein Datum Fri, 24 Mar 06 22:46:35 Z https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949992#m949992 https://forum.selfhtml.org/self/2006/mar/24/regular-expression-fuer-ein-datum/949992#m949992 <blockquote> <blockquote> <p>Ich hab auf den Seiten einen Error Log eingebaut:</p> </blockquote> <p>oh, <a href="http://javascript.jstruebig.de/js/errorlog.js" rel="nofollow noopener noreferrer">das</a> ist ja geil!</p> </blockquote> <p>Alles geklaut :-)<br> Weiß aber nicht mehr woher</p> <blockquote> <blockquote> <p>Borwser String: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060130 Red Hat/1.7.12-1.4.2</p> </blockquote> <p>hui, ist der fehler von heute nachmittag so zwischen 14:00 und 15:00? dann koennte ich das gewesen sein? bei mir funzte das script naemlich nicht, aber aus zeitgruenden habe ich mich nicht naeher damit befasst. ich kann am montag noch mal danach schauen.</p> </blockquote> <p>Ja: <a href="http://jstruebig.de/cgi-bin/jserror.pl?read=1" rel="nofollow noopener noreferrer">http://jstruebig.de/cgi-bin/jserror.pl?read=1</a></p> <p>Struppi.</p> <div class="signature">-- <br> <a href="http://javascript.jstruebig.de/" rel="nofollow noopener noreferrer">Javascript ist toll</a> </div>