def make_re(args):
args = (re.escape(arg) for arg in args) #if you want to escape special characters
return re.compile('^({0})$'.format('|'.join(args)) )
boolre = make_re(('true','false'))
然而,如果你把args = (re.escape(arg) ...)这一行放在那里,那么除了使用if arg in myset: ...所能得到的以外,你真的什么也得不到。unescape版本的优点在于,您至少还具有一些regex灵活性。你知道吗
你的意思是
'^(ltr|rtl|lro|rlo)$'
和'^(true|false)$'
吗?你知道吗这甚至可以很容易地实现自动化:
然而,如果你把
args = (re.escape(arg) ...)
这一行放在那里,那么除了使用if arg in myset: ...
所能得到的以外,你真的什么也得不到。unescape版本的优点在于,您至少还具有一些regex灵活性。你知道吗使用列表或集合比正则表达式更好。你知道吗
(如果您的
dir_choice
是以前定义的,那么检查速度大约是@IvanKoblik的编译正则表达式的六倍)要检查dir是否等于这些字符串之一,可以使用以下命令:
布尔的另一个例子:
除非您遵循更好的建议并为此使用哈希集。你知道吗
相关问题 更多 >
编程相关推荐