Accent character problem

Diez B. Roggisch deets at nospam.web.de
Fri Jun 20 10:38:15 EDT 2008


Sallu schrieb:
> Hi all and one
> i wrote this script, working fine without fail( just run it)
> 
> import re
> value='This is Praveen'
> print value
> #value = 'riché gerry'
> #words=str(value.split()).strip('[]').replace(', ', '') ( here i tried
> to convert in to list and then back to string)
> #print words
> richre=re.compile(r'[a-zA-Z0-9]')
> 
> if(richre.match(value)):
>   print "Valid"
> else:
>   print "Not allowed special characters"
> 
> Output 1: (Fair)
> This is Praveen
> Valid
> but when i change the value like
> value='éhis is Praveen'
> then
> 
> Output 2:(Fair)
> éhis is Praveen
> Not allowed special characters
>  (because i wanted to check out the ascent(é) character so its working
> fine no issue)
> 
> but when i give ascent(é) character in middle like
> value='This és Praveen'
> 
> Output 3:(not fair)
> 
> This és Praveen
> Valid
> even it have ascent character it should display message "Not allowed
> special characters"
> Please help me out.

You only test the *first* character. You need to modify your rex using a 
+, like this:

richre=re.compile(r'[a-zA-Z0-9]+')

Only then it will match the whole word.

Diez



More information about the Python-list mailing list