Leif Neland skrev:
> Jeg søger et regexp, der kan parse
> key = value
> key=value
> key = "value"
> key = 'value'
> key="val ue"
> key='val ue'
> key="val'ue"
> key='val"ue'
> key=''
> key=""
> key = ''
> key = ""
>
> Jeg har prøvet med $regexp='/ (\S*)\s*=\s*((["\']?)(\S*)\3)/';
> men den fanger ikke alle muligheder, specielt ikke de, hvor value er
> tom.
Behøver du gøre det i ét hug? Ku' du ikke starte med at splitte i en venstre
og en højre halvdel efter første lighedstegn, derefter strippe whitespace og
evt. quotes? Jeg ved ikke hvilket sprog du bruger (php?), men i python ku'
det være noget i retning af
#v+
if line.count('=') > 0:
(key, val) = line.split('=', 1)
(key, val) = (key.strip(), val.strip())
if val[0] == val[-1] and val[0] in ('"', "'"):
val = val[1:-1]
#v-
Jeg så dit indlæg i d.e.s.unix og abonnerer ikke på den gruppe du har sat
fut til, så jeg ser ikke evt. svar på dette indlæg.
Mvh,
--
Klaus Alexander Seistrup | Abolish European Summertime
gopher://port70.dk/ | Please sign the petition ⌘
http://j.mp/noeudst