Python中不区分大小写的正则表达式
我有以下Python正则表达式:Python中不区分大小写的正则表达式,python,regex,python-2.7,Python,Regex,Python 2.7,我有以下Python正则表达式: re =re.match(r'.*? from\s+(.*?)(\s.*|$)', q) 这里,q是这样的查询: Q1 = u"select * from dlpx_jobs where job_id=\\'531\\';" Q2 = u"select * FROM dlpx_jobs where job_id=\\'531\\';" 现在,很明显,对于Q1,正则表达式是有效的,因为“from”在查询中是小写的,但是对于Q2,正则表达式不起作用,因为在Q2
re =re.match(r'.*? from\s+(.*?)(\s.*|$)', q)
这里,q是这样的查询:
Q1 = u"select * from dlpx_jobs where job_id=\\'531\\';"
Q2 = u"select * FROM dlpx_jobs where job_id=\\'531\\';"
现在,很明显,对于Q1,正则表达式是有效的,因为“from”在查询中是小写的,但是对于Q2,正则表达式不起作用,因为在Q2中,“from”是大写的
无论“from”是大写还是小写,是否有任何方式可以使正则表达式同时适用于这两个查询?尝试以下方法:
expr = re.match(r'.? from\s+(.?)(\s.*|$)', q, re.IGNORECASE)
使用内联修饰符(?i)