Reguläre Ausdrücke

Status
Für weitere Antworten geschlossen.

Vulpecula

Commander
Registriert
Nov. 2007
Beiträge
2.241
Moin moin!

Ich versuche gerade einen regulären Ausdruck zu finden, der die unten im Spoiler stehenden Zahlenmuster abdeckt.

Im Prinzip habe ich es gemacht wie immer, allerdings ist mir aufgefallen, dass einfache ganze Zahlen ohne Nachkommastellen (egal ob mit +/- oder ohne) nicht eingeschlossen sind.

Folgendes habe ich bis jetzt (was leider mit dem global Tag arbeitet...)

Code:
([+-]?)(\d*)([\.])(\d*)(([E,e]?)[+-](\d+))?/g

12
12.0
.12345
0.12345
1.23456
1.23E+12
1.23E-123

+12
+12.0
+.12345
+0.12345
+1.23456
+1.23E+123
+1.23E-123

-12
-12.0
-.12345
-0.12345
-1.23456
-1.23E+12
-1.23E-123

Vielleicht hat ja jemand eine Idee, wie man es besser machen könnte.
 
Du setzt einfach noch ein optionales Klammernpaar um
Code:
([\.])(\d*)(([E,e]?)[+-](\d+))?
 
Ja, das habe ich probiert, aber aus einem mir unerfindlichen Grund haben sämtliche (Online-)RegEx Tester dabei versagt. Aber: ich hab dann (Google sei dank) noch was gefunden, dass dann so aussieht:

Code:
[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?.

Funktioniert soweit super. Aber Danke für Deine rasche Antwort!
 
https://regex101.com/

/([+-]?)(\d*)(([\.])(\d*)(([E,e]?)[+-](\d+))?)?/g

Code:
MATCH 1		
1.	[0-0]	``
2.	[0-2]	`12`
MATCH 2		
1.	[2-2]	``
2.	[2-2]	``
MATCH 3		
1.	[3-3]	``
2.	[3-5]	`12`
3.	[5-7]	`.0`
4.	[5-6]	`.`
5.	[6-7]	`0`
MATCH 4		
1.	[7-7]	``
2.	[7-7]	``
MATCH 5		
1.	[8-8]	``
2.	[8-8]	``
3.	[8-14]	`.12345`
4.	[8-9]	`.`
5.	[9-14]	`12345`
MATCH 6		
1.	[14-14]	``
2.	[14-14]	``
MATCH 7		
1.	[15-15]	``
2.	[15-16]	`0`
3.	[16-22]	`.12345`
4.	[16-17]	`.`
5.	[17-22]	`12345`
MATCH 8		
1.	[22-22]	``
2.	[22-22]	``
MATCH 9		
1.	[23-23]	``
2.	[23-24]	`1`
3.	[24-30]	`.23456`
4.	[24-25]	`.`
5.	[25-30]	`23456`
MATCH 10		
1.	[30-30]	``
2.	[30-30]	``
MATCH 11		
1.	[31-31]	``
2.	[31-32]	`1`
3.	[32-39]	`.23E+12`
4.	[32-33]	`.`
5.	[33-35]	`23`
6.	[35-39]	`E+12`
7.	[35-36]	`E`
8.	[37-39]	`12`
MATCH 12		
1.	[39-39]	``
2.	[39-39]	``
MATCH 13		
1.	[40-40]	``
2.	[40-41]	`1`
3.	[41-49]	`.23E-123`
4.	[41-42]	`.`
5.	[42-44]	`23`
6.	[44-49]	`E-123`
7.	[44-45]	`E`
8.	[46-49]	`123`
MATCH 14		
1.	[49-49]	``
2.	[49-49]	``
MATCH 15		
1.	[50-50]	``
2.	[50-50]	``
MATCH 16		
1.	[51-52]	`+`
2.	[52-54]	`12`
MATCH 17		
1.	[54-54]	``
2.	[54-54]	``
MATCH 18		
1.	[55-56]	`+`
2.	[56-58]	`12`
3.	[58-60]	`.0`
4.	[58-59]	`.`
5.	[59-60]	`0`
MATCH 19		
1.	[60-60]	``
2.	[60-60]	``
MATCH 20		
1.	[61-62]	`+`
2.	[62-62]	``
3.	[62-68]	`.12345`
4.	[62-63]	`.`
5.	[63-68]	`12345`
MATCH 21		
1.	[68-68]	``
2.	[68-68]	``
MATCH 22		
1.	[69-70]	`+`
2.	[70-71]	`0`
3.	[71-77]	`.12345`
4.	[71-72]	`.`
5.	[72-77]	`12345`
MATCH 23		
1.	[77-77]	``
2.	[77-77]	``
MATCH 24		
1.	[78-79]	`+`
2.	[79-80]	`1`
3.	[80-86]	`.23456`
4.	[80-81]	`.`
5.	[81-86]	`23456`
MATCH 25		
1.	[86-86]	``
2.	[86-86]	``
MATCH 26		
1.	[87-88]	`+`
2.	[88-89]	`1`
3.	[89-97]	`.23E+123`
4.	[89-90]	`.`
5.	[90-92]	`23`
6.	[92-97]	`E+123`
7.	[92-93]	`E`
8.	[94-97]	`123`
MATCH 27		
1.	[97-97]	``
2.	[97-97]	``
MATCH 28		
1.	[98-99]	`+`
2.	[99-100]	`1`
3.	[100-108]	`.23E-123`
4.	[100-101]	`.`
5.	[101-103]	`23`
6.	[103-108]	`E-123`
7.	[103-104]	`E`
8.	[105-108]	`123`
MATCH 29		
1.	[108-108]	``
2.	[108-108]	``
MATCH 30		
1.	[109-109]	``
2.	[109-109]	``
MATCH 31		
1.	[110-111]	`-`
2.	[111-113]	`12`
MATCH 32		
1.	[113-113]	``
2.	[113-113]	``
MATCH 33		
1.	[114-115]	`-`
2.	[115-117]	`12`
3.	[117-119]	`.0`
4.	[117-118]	`.`
5.	[118-119]	`0`
MATCH 34		
1.	[119-119]	``
2.	[119-119]	``
MATCH 35		
1.	[120-121]	`-`
2.	[121-121]	``
3.	[121-127]	`.12345`
4.	[121-122]	`.`
5.	[122-127]	`12345`
MATCH 36		
1.	[127-127]	``
2.	[127-127]	``
MATCH 37		
1.	[128-129]	`-`
2.	[129-130]	`0`
3.	[130-136]	`.12345`
4.	[130-131]	`.`
5.	[131-136]	`12345`
MATCH 38		
1.	[136-136]	``
2.	[136-136]	``
MATCH 39		
1.	[137-138]	`-`
2.	[138-139]	`1`
3.	[139-145]	`.23456`
4.	[139-140]	`.`
5.	[140-145]	`23456`
MATCH 40		
1.	[145-145]	``
2.	[145-145]	``
MATCH 41		
1.	[146-147]	`-`
2.	[147-148]	`1`
3.	[148-155]	`.23E+12`
4.	[148-149]	`.`
5.	[149-151]	`23`
6.	[151-155]	`E+12`
7.	[151-152]	`E`
8.	[153-155]	`12`
MATCH 42		
1.	[155-155]	``
2.	[155-155]	``
MATCH 43		
1.	[156-157]	`-`
2.	[157-158]	`1`
3.	[158-166]	`.23E-123`
4.	[158-159]	`.`
5.	[159-161]	`23`
6.	[161-166]	`E-123`
7.	[161-162]	`E`
8.	[163-166]	`123`
MATCH 44		
1.	[166-166]	``
2.	[166-166]	``
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben