Hallo allerseits, ich habe einen Text, in dem Kapitelnummerierungen enthalten sind, die ich per Regexp suchen will. Der Aufbau der Nummern besteht aus einer zahl u d einem Punkt, wenn dieser eine Subnummerierung folgt. Bei gefundenem Ausdruck soll ein ';<CR/LF>' davorgesetzt werden. Bisher verhaspelte sich mein Ausdruck öfters. Das würde ich gernne ändern, weiss aber keinen passenden Audruck. Für Hilfe dankbar Robert
Folgender: +[0-9].[0-9].[0-9].[0-9] Problem: 2.1.2 wird nicht gefunden, 2.1.2.2 hingegen schon.
Habe grade keine Zeit, um deine Hausaufgaben zu machen, aber mit diesem Tool kann man sehr schön RegEx-Ausdrücke entwickeln: http://www.regexr.com/
R. F. schrieb: > +[0-9].[0-9].[0-9].[0-9] > > Problem: > 2.1.2 wird nicht gefunden, 2.1.2.2 hingegen schon. teste mal so +\d\.\d?.\d?\.\d?
Peter II schrieb: > +\d\.\d?.\d?\.\d? Antwort von np++: Invalid regular expression. Regexp ist eingeschaltet.
R. F. schrieb: > 2.1.2 wird nicht gefunden, 2.1.2.2 hingegen schon. Ist klar. Du suchst ja auch nach 4 Ziffern mit irgendeinem Zeichen dazwischen.
R. F. schrieb: > Antwort von np++: Invalid regular expression. ich hatte das + mit übernommen, weil du es hingeschrieben hattest. Das stört ihn scheinbar und noch keine kleine Korrektur: \d\.\d?.?\d?\.?\d?
R. F. schrieb: > [0-9].[0-9].[0-9].[0-9] [0-9].[0-9].[0-9](.[0-9])? findet sowohl 1.2.3 als auch 1.2.3.4
Beitrag #4961533 wurde vom Autor gelöscht.
Notepad++ scheint Perl-Regex kompatible zu sein. Ohne deine Hausaufgaben zu machen, benutze einen Regex-Simulator wie diesen.. http://www.perlfect.com/articles/regextutor.shtml ..um den Ausdruck zu entwickeln. Mit dem Regex-Schreiben ist es doch so, dass der Einstieg schwierig ist, aber mit der Zeit braucht man nicht mehr viel nachdenken, um einen brauchbaren Ausdruck zusammenzustellen.
Di P. schrieb: > ([0-9]\.?)+ > > findet > > 1.2.3.4 > 1.2.3 > 1.2 > 1 > > und 10.11.12.13 > > siehe: http://www.regexr.com/3flsv findet aber auch 1.2.3. ((\d+\.?)+\d+)|(\d+) am besten noch mit ^ und/oder $ verankern.
Di P. schrieb: > ([0-9]\.?)+ Wenn ich das eingebe, findet sich die gesuchte Stelle. Mit was füge ich denn jetzt einen Zeilenumbruch ein, ohne anderes zu ändern? reicht da \n\r ? Gruss Robert (derzeit die Links lesend)
Und wie verhindere ich das Finden von Werten wie zB 0x01234 ?
R. F. schrieb: > Und wie verhindere ich das Finden von Werten wie zB 0x01234 ? "." findet irgendein Zeichen "\." findet das Zeichen "." Problematischer ist, dass so jede einfache Zahl gefunden wird (zusätzlich die mit "." als 1000er- oder Dezimal-Trennzeichen). daher: c.m. schrieb: > am besten noch mit ^ und/oder $ verankern.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.