Ik ben bezig een parser te maken die tags uit een stuk tekst kan filteren. Nu kan ik daarvoor wel een groot aantal regular expressions maken, maar ik wilde eigenlijk 1 expressie voor alle mogelijk tags met parameters. Das makkelijker te maken (als het werkt), beter te onderhouden en makkelijker uit te breiden zonder significante performance-hit.
Ik heb deze expressie bedacht:
(deze matcht dus nog niet op parameter-values tussen quotes)
En met de volgende string:
Hij matcht op deze string goed, maar hij geeft verkeerde submatches terug:
Submatch(0): tag
Submatch(1): veld
Submatch(2): param2
Submatch(3): value2
Wat ik wil, is dat ie met zo'n soort expressie alle parameters+values teruggeeft. Dat moet toch mogelijk zijn lijkt me
edit:
ik zie dat een modder de titel veranderd heeft. Nu weet men niet meer dat het om ASP gaat. Er worden nml ASP-specifieke elementen gebruikt (zoals "?:"), vandaar...
Ik heb deze expressie bedacht:
code:
1
| \\[\s*(.+?)(?:\s*:\s*(.+?))?(?:\s+(\w+)(?:=(\w+))?)*\s*\] |
(deze matcht dus nog niet op parameter-values tussen quotes)
En met de volgende string:
code:
1
| [tag:veld param1=value1 param2=value2] |
Hij matcht op deze string goed, maar hij geeft verkeerde submatches terug:
Submatch(0): tag
Submatch(1): veld
Submatch(2): param2
Submatch(3): value2
Wat ik wil, is dat ie met zo'n soort expressie alle parameters+values teruggeeft. Dat moet toch mogelijk zijn lijkt me
edit:
ik zie dat een modder de titel veranderd heeft. Nu weet men niet meer dat het om ASP gaat. Er worden nml ASP-specifieke elementen gebruikt (zoals "?:"), vandaar...
[ Voor 10% gewijzigd door _Thanatos_ op 10-01-2003 15:44 ]
日本!🎌