[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PROGRAMMERING] regul?re udtryk i python



Hej Atte

On Wed, Apr 12, 2006 at 12:58:59AM +0200, Atte Andr? Jensen wrote:
> Jeg er bestemt ikke nogen haj til regul?re udtryk, men det er dog 
> lykkedes mig at f? rimelige resultater i bash. Men python...
> 
> Jeg sidder med en streng, fx
> 
> en lille 'lille bitte  micro' test 'af re'
> 
> og vil gerne have en eller flere spaces indenfor 'er lavet til 
> underscore, samt 'er fjernet alts?:
> 
> en lille lille_bitte_micro test af_re
> 
> Er der en som kan hj?lpe, gerne med tilh?rende forklaring eller 
> reference til info s? jeg faktisk fatter hvad der sker?

Dokumentationen til re modulet finder du her:
http://docs.python.org/lib/module-re.html is??r det f??rste kapitel
(4.2.1) er praktisk da det giver et udem??rket overblik over den regex
syntax modulet underst??tter. I samme afsnit er der ogs?? et link til en
HOWTO omkring re modulet. 

En detalje du lige skal holde ??je med er i forbindelse med qualifiers
(eg. + og *), der som udganspunkt er gr??dige hvilket ikke altid er det
man lige forventer. '?' efter qualifieren ??ndrer dem til ikke gr??dige.

Nedenfor er et eksempel p?? hvordan du kan l??se dit problem, men bem??rk
at jeg har rettet lidt i din streng s??dan at de steder hvor der skal
laves substitution ALTID har omkranset af to mellemrum. Hvis du vil
kunne bruge din eksempel streng direkte vil jeg mene at du skal lave
mere kode end bare at par regex'er.

import re

#matcher noget tekst to mellemrum noget tekst, to mellemrum og noget
#mere tekst
rspc = re.compile(r'\'.*? {2}(.*?) {2}.*?\'')

s = "en lille 'lille  bitte  micro' test 'af  re  '"

def replacer(m):
	return ("__" + m.string[m.start(1):m.end(1)] + "__")

print (rspc.subn(replacer,s)[0])

Den printer flg. tekst:

en lille __bitte__ test __re__

L??sningen er, som du kan se, ikke komplet men nu har du noget at komme
igang med :-)

-- 
Med venlig hilsen
Martin Sk??tt


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2006-05-01, 02:01 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *