"Sallu" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
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.
Thanks

The match function only matches the pattern at the start of a string. Use search instead. Printing the results of a successful match will help you debug the problems also.

   matchobj = richre.match(value)
   if matchobj:
       print matchobj.group()
   else:
   print 'no match'

As written you will only get a successful match if your string starts with a-zA-Z0-9, which is why #1 and #3 print 'Valid'.

You also should declare the encoding of the file and consider using Unicode strings.

-Mark

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to