tag:forum.selfhtml.org,2005:/self RegExp: Zahlen in allen möglichen Varianten – SELFHTML-Forum 2011-09-27T17:48:08Z https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526550#m1526550 Louis Armstrong 2011-09-26T10:20:27Z 2011-09-26T10:20:27Z RegExp: Zahlen in allen möglichen Varianten <p>Hallo,</p> <p>ich habe schon lange nichts mehr mit RegEx's gemacht. Nun wurde mir eine kleine Aufgabe zuteil, mit der ich schon überfordert bin.</p> <p>Gegeben sind folgende Zahlen-Varianten:</p> <p>1.2<br> 1,2<br> 1,002<br> 0001,01<br> 00.1<br> 1/2<br> 1,003</p> <p>Mein RegEx, den ich bisher dazu zusammengezimmert habe, ist folgender:</p> <p>[0-9]{1,4}[,./][0-9]{1,3}<br> (Delimiter ist = )</p> <p>Der erkennt nur 1.2 als Treffer. Ich habe schon sehr viel damit experminetiert ([] durch() ersetzt, etc.), aber nichts will klappen.</p> <p>Ist bestimmt nur ne Kleinigkeit, aber ich komm nicht drauf. Bitte helft mir damit.</p> <p>Freundliche Grüße<br> Louis, der Trompeter</p> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526557#m1526557 Louis Armstrong 2011-09-26T10:21:12Z 2011-09-26T10:21:12Z RegExp: Zahlen in allen möglichen Varianten <p>Entschuldigung, habe den Post aus Versehen doppelt abgeschickt.</p> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526556#m1526556 Louis Armstrong 2011-09-27T15:12:11Z 2011-09-27T15:12:11Z Problem noch nicht gelöst <p>Hallo,</p> <p>weiß denn keiner eine Antwort? Oder denkt ihr, das Thema wäre erledigt, nur weil im Thread eine Antwort von mir angelegt wurde?</p> <p>Grüße</p> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526555#m1526555 ChrisB 2011-09-27T15:41:36Z 2011-09-27T15:41:36Z RegExp: Zahlen in allen möglichen Varianten <p>Hi,</p> <blockquote> <p>Gegeben sind folgende Zahlen-Varianten:</p> <p>1.2<br> 1,2<br> 1,002<br> 0001,01<br> 00.1<br> 1/2<br> 1,003</p> <p>Mein RegEx, den ich bisher dazu zusammengezimmert habe, ist folgender:</p> <p>[0-9]{1,4}[,./][0-9]{1,3}<br> (Delimiter ist = )</p> <p>Der erkennt nur 1.2 als Treffer.</p> </blockquote> <p>Nein, der erkennt alle Zahlen, die du oben genannt hast, als solche.<br> (Sofern man sie jeweils einzeln für sich prüft.)</p> <p>MfG ChrisB</p> <div class="signature">-- <br> RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? </div> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526551#m1526551 peterS. pseliger@gmx.net 2011-09-27T16:49:22Z 2011-09-27T16:49:22Z RegExp: Zahlen in allen möglichen Varianten <p>gruss Louis,</p> <p><code class="language-javascript"><span class="token punctuation">[</span><span class="token number">0</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 number">1</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">}</span><span class="token punctuation">[</span><span class="token punctuation">,</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">0</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 number">1</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">}</span></code><br> anstelle von:<br> <code class="language-javascript"><span class="token punctuation">[</span><span class="token number">0</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 number">1</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">}</span><span class="token punctuation">[</span><span class="token punctuation">,</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">0</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 number">1</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">}</span></code></p> <p>der punkt in einer zeichenklasse wird nicht maskiert.<br> dafuer gehoert die maskierung an den *slash*.</p> <p>so long - peterS. - pseliger@gmx.net</p> <div class="signature">-- <br> »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.<br> Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - <a href="http://javascript.crockford.com/" rel="nofollow noopener noreferrer">Douglas Crockford</a><br> <a href="http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%28+fl%3A%29+br%3A%3E+va%3A%28+ls%3A%26+fo%3A%29+rl%3A%29+n3%3B%7D+n4%3A%7D+ss%3A%7D+de%3A%B5+js%3A%7D+mo%3A%3F+zu%3A%5D" rel="nofollow noopener noreferrer">ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]</a> </div> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526552#m1526552 dedlfix 2011-09-27T17:15:34Z 2011-09-27T17:15:34Z RegExp: Zahlen in allen möglichen Varianten <p>Hi!</p> <blockquote> <p>[0-9]{1,4}[,./][0-9]{1,3}<br> anstelle von:<br> [0-9]{1,4}[,./][0-9]{1,3}<br> der punkt in einer zeichenklasse wird nicht maskiert.</p> </blockquote> <p>Er muss nicht maskiert werden, kann aber (wenn man von PCRE ausgeht).</p> <blockquote> <p>dafuer gehoert die maskierung an den *slash*.</p> </blockquote> <p>Nein, das muss auch nicht. Er hat ja = als Delimiter.</p> <p>Vielleicht ist sein Problem, dass er mehrere Kontexte geschachtelt hat, beispielsweise den Ausdruck in einem PHP-String stehen hat und nun die Maskierungen nicht eindeutig notiert sind.</p> <p>Lo!</p> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526553#m1526553 peterS. pseliger@gmx.net 2011-09-27T17:31:40Z 2011-09-27T17:31:40Z RegExp: Zahlen in allen möglichen Varianten <p>gruss dedlfix,</p> <blockquote> <p>Er muss nicht maskiert werden, kann aber (wenn man von PCRE ausgeht).</p> </blockquote> <p>stimmt.</p> <blockquote> <blockquote> <p>dafuer gehoert die maskierung an den *slash*.</p> </blockquote> <p>Nein, das muss auch nicht. Er hat ja = als Delimiter.</p> </blockquote> <p>mein RegExp-tester meckert den ausdruck ohne maskierten<br> slash in der zeichenklasse trotzdem an - mmh?</p> <p>der gesamte ausdruck, so wie ich ihn vorhin gepostet habe,<br> matched nur mit dieser maskierung alle von Louis gegebenen<br> beispiele.</p> <p>bitte klaert mich auf.</p> <p>danke - peterS. - pseliger@gmx.net</p> https://forum.selfhtml.org/self/2011/sep/26/1-regexp-zahlen-in-allen-moeglichen-varianten/1526554#m1526554 dedlfix 2011-09-27T17:48:08Z 2011-09-27T17:48:08Z RegExp: Zahlen in allen möglichen Varianten <p>Hi!</p> <blockquote> <blockquote> <blockquote> <p>dafuer gehoert die maskierung an den *slash*.<br> Nein, das muss auch nicht. Er hat ja = als Delimiter.</p> </blockquote> </blockquote> <p>mein RegExp-tester meckert den ausdruck ohne maskierten<br> slash in der zeichenklasse trotzdem an - mmh?</p> </blockquote> <p>Der geht vielleicht davon aus, dass / der Delimiter für den gesamten Ausdruck ist. In dem Fall, muss ein / auch innerhalb einer Zeichenklasse maskiert werden, anderenfalls nicht.</p> <pre><code class="block language-php"><span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/foo[bar/]/'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'foo/'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'/foo[bar\/]/'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'foo/'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'#foo[bar/]#'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'foo/'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>Die erste Zeile ergibt eine Fehlermeldung ("Unknown modifier ']'" und false als Rückgabe), die beiden anderen Zeilen nicht. (Ergebnis ist jeweils 1 (eine Fundstelle)).</p> <blockquote> <p>der gesamte ausdruck, so wie ich ihn vorhin gepostet habe, matched nur mit dieser maskierung alle von Louis gegebenen beispiele.</p> </blockquote> <p><code class="language-php"><span class="token function">var_dump</span><span class="token punctuation">(</span><span class="token function">preg_match</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'=[0-9]{1,4}[,./][0-9]{1,3}='</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'...'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> <p>So passt das auf alle Beispiele.</p> <p>Lo!</p>