Gentoo Archives: gentoo-user-de

From: "Christian Schäfer" <caefer@××××××××××.net>
To: gentoo-user-de@l.g.o
Subject: [gentoo-user-de] [ot] kann mir mal jemand bei nem regulaeren ausdruck helfen?
Date: Wed, 04 Aug 2004 16:58:52
Message-Id: 411115C5.4040507@krachstoff.net
1 hallo allerseits,
2
3 ich habe hier ein riesen problem. und zwar will ich aus einem c-programm
4 heraus eine config datei parsten und variablen und zugehoerige werte
5 auslesen. ich benutze pcre also perl compatible regexp.
6
7 die configdatei hat folgende struktur:
8
9 ^\s*VARIABLE\s*=\s*WERT\s*[#.*]?$
10
11 es faengt alsomit beliebig vielen spaces oder tabs oder so an. dann kommt
12 der variablen name, wieder beliebig whitespace ein gleichheitszeichen,
13 beliebig whitespace, der vaiablenwert, beliebig whitespace.
14
15 am ende kann ein kommentar beginnend mit '#' stehen.
16 eine zeile kann auch nur aus kommentar bestehen und mit (beliebig viel
17 whitespace+) '#' beginnen.
18
19 ein variablen name beginnt mit [a-zA-Z_] kann danach aber auch ziffern
20 enthalten.
21
22 ein variablen wert entspricht genau derselben struktur wie der variablen
23 name, allerdings kann er auch mit eine ziffer beginnen. ausserdem soll er
24 auch whitespaces enthalten koennen, wenn er indoublequotes eingefasst ist.
25
26
27 mein bisheriges ergebnis habe ich angehaengt.
28
29 der regulaere ausdruck, die test-config (noch simpler als gefordert) und
30 des erzielte ergebnis mit diesem ausdruck.
31
32 probleme:
33 - der variablen wert enthaelt auch abschliessende whitespaces..
34
35 todo:
36 - variablen name nach anforderung matchen
37 - variablen wert nach doublequotes und anforderungen matchen
38
39
40 das ganze sollte mglichst in einen ausdruck, da ein einzelner wesentlich
41 schneller durch ist als mehrere.
42
43 ich habe aber auch nichts gegen eine splittung in teil-ausdruecke.
44
45
46 wenn mir da jemand zur hand gehen koennte, waere ich sehr dankbar!
47
48
49 ps: das programm wird open source unter gpl oder sogar bsd-licence und
50 ausschlaggebende hilfe wird selbstredend im code vermerkt. ;-)
51
52
53 danke im vorraus!!!!
54
55
56 gruss
57 /christian
58
59 --
60 gentoo-user-de@g.o mailing list

Replies

Subject Author
Re: [gentoo-user-de] [ot] kann mir mal jemand bei nem regulaeren ausdruck helfen? Renat Golubchyk <ragermany@×××.net>