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 |