因此,我正在做一些测试,需要一种将字符串分成两组的方法。 (例如'abcdef' => ['ab','cd','ef']
)
我正在尝试使用正则表达式模式执行此操作([^]{2}
)。每当我尝试编译此模式时,都会收到错误消息:
sre_constants.error:正则表达式意外结束
确切的代码行是:pat = re.compile(r'[^]{2}')
有人可以告诉我我在做什么错吗?我已经做了很多搜索,但是很多问题都与不正确的用法和/或反斜杠有关。
我认为这可能是由于字符串格式,尽管Python文档未提及任何问题。
最佳答案
采用
(.{2})
点将匹配任何字符。如果要将换行符与点匹配,请不要忘记添加
s
修饰符。所以你的代码看起来像这样p = re.compile('(?s)(.{2})')
另外,我不确定为什么要对任务使用正则表达式。您可以按照以下代码段进行操作
In [5]: line = 'abcdef'
In [6]: n = 2
In [7]: [line[i:i+n] for i in xrange(0, len(line), n)]
Out[7]: ['ab', 'cd', 'ef']
关于python - sre_constants.error:正则表达式意外结束-应该工作正常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29917384/