Python中的不区分大小写正则表达式

5

我有以下的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中,“from”是大写的。

是否有任何方法可以使正则表达式适用于两个查询,而不管“from”是大写还是小写?


2
use inline modifier (?i) - rock321987
1个回答

14

试试这个:

expr = re.match(r'.? from\s+(.?)(\s.*|$)', q, re.IGNORECASE)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接