Jag är helt VÄRDELÖS på Regular Expression. Har aldrig lärt mig och aldrig förstått fullt ut. Därför skulle jag uppskatta om någon kan ge mig lite klarhet.
Jag försöker lägga till egna "expressions" till SyntaxHighlighter.
Det jag försöker lägga till är ensamstående siffror.
Jag har provat att kopiera ett par från internet och även skapat mina egna med varierande lycka. T.ex. "[^a-z][0-9]" och "(?!a-z)[0-9]". Jag vet att detta bara täcker små bokstäver, men det var bara för att testa och sedan fortsätta bygga vidare om det fungerade.
Den ska matcha alla lösa siffror, t.ex.:
5
295891739
foo(1,2, 3)
foo[4,5, 6]
Därmot får den inte matcha siffror i funktioner eller variabler t.ex:
foo2("foo")
foo4
2foo = false
foo2foo = true
Den ska även matcha både heltal och decimaltal.
Jag tror inte det är ett problem med strings eller kommentarer då dessa expressions verkar gå före siffrorna och därför "skriver över" stilen.
Jag trodde detta skulle vara ganska enkelt, men antingen får jag med en bokstav innan siffrorna som jag inte vill ha eller så får jag hela ord. Är det superkomplicerat? Har någon lust att i alla fall peka mig åt rätt håll? Jag har bläddrat igenom ett par tutorials utan resultat.
När jag ändå skapat tråden kan jag passa på att fråga hur man exkluderar tecken ur resultatet som man vill söka efter. T.ex. vill jag matcha funktionen colors.combine(temp, color) men inte colors.red som är en konstant. Om jag använder "\w+\.\w+\(" får jag bara funktionen och inte konstanten, men jag får med "(" i resultatet.