On Jul 18, 12:10 pm, John Machin <[EMAIL PROTECTED]> wrote: > On Jul 18, 9:05 pm, oj <[EMAIL PROTECTED]> wrote: > > > > > On Jul 18, 11:33 am, [EMAIL PROTECTED] wrote: > > > > Hi, > > > > Hi, > > > > I am taking a string as an input from the user and it should only > > > contain the chars:L , M or R > > > > I tried the folllowing in kodos but they are still not perfect: > > > > [^A-K,^N-Q,^S-Z,^0-9] > > > [L][M][R] > > > [LRM]?L?[LRM]? etc but they do not exactly meet what I need. > > > > For eg: LRLRLRLRLM is ok but LRLRLRNL is not as it has 'N' .like that. > > > > regards, > > > SZ > > > > The string may or may not have all the three chars. > > > With regular expressions, [^LRM] matches a character that isn't L, R > > or M. So: > > > import re > > > var = "LRLRLRLNR" > > > if re.search(r'[^LRM]', var): > > print "Invalid" > > Fails if var refers to the empty string.
No it doesn't, it succeeds if var is an empty string. An empty string doesn't contain characters that are not L, R or M. The OP doesn't specify whether an empty string is valid or not. My interpretation was that an empty string would be valid. -- http://mail.python.org/mailman/listinfo/python-list