Python中不区分大小写的正则表达式[重复]
Posted
技术标签:
【中文标题】Python中不区分大小写的正则表达式[重复]【英文标题】:Case insensitive Regex in Python [duplicate] 【发布时间】:2018-07-07 09:47:19 【问题描述】:我有以下 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”是大写还是小写,正则表达式是否可以通过任何方式同时用于查询?
【问题讨论】:
使用内联修饰符(?i)
【参考方案1】:
试试这个:
expr = re.match(r'.? from\s+(.?)(\s.*|$)', q, re.IGNORECASE)
【讨论】:
以上是关于Python中不区分大小写的正则表达式[重复]的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式:匹配以“AM”结尾的单词(不区分大小写比较)[重复]