2013-03-13 29 views
0

正则表达式匹配输入我有一个期望的输入话说程序“是”,是这样的:可以用Python

my_input = raw_input('> ') 
if my_input == 'yes': 
    #etc 

但是这太具体,我想输入匹配这个表达式:[yY](es)?,所以如果用户提出“是,是,是或是”,它是一样的。但我不知道这是如何在Python中实现的。

我想是这样的:

regex = some.regex.method('[yY](es)?') 
my_input = raw_input('> ') 
if my_input == regex: 
    #etc 

预先感谢您。

回答

3

正则表达式可能是矫枉过正这里,但这里是为了做这件事:

import re 
regex = re.compile(r'y(es)?$', flags=re.IGNORECASE) 
my_input = raw_input('> ') 
if regex.match(my_input): 
    #etc 

这将匹配字符串"y""yes"任何情况下,但将无法像"yellow""yesterday"的字符串。

或者更好的是,同样的行为,而正则表达式:

my_input = raw_input('> ') 
if my_input.lower() in ('y', 'yes'): 
    #etc 
+0

谢谢你,我想我与元组方式停留。 – user2166141 2013-03-13 16:25:30