我正在尝试实现有效的正则表达式模式

时间:2011-04-27 16:07:04

标签: python regex

我正在使用下面的正则表达式来匹配三种不同类型的字符串。我很难确定在哪里添加不区分大小写的模式,以匹配大写或小写(例如re.IGNORECASE([A-Za-z0-9]+))。我应该尝试不同的东西吗?

regex = re.compile( "(%s|%s|%s)" % ( re.escape( userstring ), re.escape( userStrHEX ), re.escape( userStrASCII ) )

1 个答案:

答案 0 :(得分:5)

只需将其添加为re.compile()的第二个参数:

x = re.compile("(%s|%s|%s)" % (re.escape(userstring), re.escape(userStrHEX), re.escape(userStrASCII)), re.IGNORECASE)

为了使它更容易阅读,我们可以将格式化参数提取到一个单独的元组中:

args = (re.escape(userstring), re.escape(userStrHEX), re.escape(userStrASCII))
x = re.compile("(%s|%s|%s)" % args, re.IGNORECASE)