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

suf*_*ffa 1 python regex

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

regex = re.compile( "(%s|%s|%s)" % ( re.escape( userstring ), re.escape( userStrHEX ), re.escape( userStrASCII ) )
Run Code Online (Sandbox Code Playgroud)

unw*_*ind 5

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

x = re.compile("(%s|%s|%s)" % (re.escape(userstring), re.escape(userStrHEX), re.escape(userStrASCII)), re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)

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

args = (re.escape(userstring), re.escape(userStrHEX), re.escape(userStrASCII))
x = re.compile("(%s|%s|%s)" % args, re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)