我有以下代码在Python 2.7中运行:
entry_regex = '(' + search_string + ')'
entry_split = re.split(entry_regex, row, 1, re.IGNORECASE)
我需要在Python 2.6以及Python 2.7和2.6中使用它.re.split不接受标志(re.IGNORECASE)作为第四个参数。有帮助吗?感谢
答案 0 :(得分:12)
您只需将(?i)添加到正则表达式即可使其不区分大小写:
>>> import re
>>> reg = "(foo)(?i)"
>>> re.split(reg, "fOO1foo2FOO3")
['', 'fOO', '1', 'foo', '2', 'FOO', '3']
答案 1 :(得分:3)
使用re.RegexObject
创建re.compile()
,然后将其称为split()
方法。
示例:
>>> re.compile('XYZ', re.IGNORECASE).split('fooxyzbar')
['foo', 'bar']
答案 2 :(得分:0)
哦,我自己找到了,我可以把它编译成Regex对象:
entry_regex = re.compile('(' + search_string + ')', re.IGNORECASE)
entry_split = entry_regex.split(row, 1)