2013-03-13 58 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