gpt4 book ai didi

Python positive-lookbehind 拆分可变宽度

转载 作者:太空宇宙 更新时间:2023-11-04 09:03:53 35 4
gpt4 key购买 nike

虽然我已经适本地设置了表达式,但是拆分并没有按预期工作。

c = re.compile(r'(?<=^\d\.\d{1,2})\s+');
for header in ['1.1 Introduction', '1.42 Appendix']:
print re.split(c, header)

预期结果:

['1.1', 'Introduction']
['1.42', 'Appendix']

我得到以下堆栈跟踪:

Traceback (most recent call last):
     File "foo.py", line 1, in
          c = re.compile(r'(?<=^\d.\d{1,2})\s+');
     File "C:\Python27\lib\re.py", line 190, in compile
          return _compile(pattern, flags)
     File "C:\Python27\lib\re.py", line 242, in _compile
          raise error, v # invalid expression
sre_constants.error: look-behind requires fixed-width pattern
<<< Process finished. (Exit code 1)

最佳答案

python 中的后视不能具有可变宽度,因此您的后视无效。

您可以使用捕获组作为解决方法:

c = re.compile(r'(^\d\.\d{1,2})\s+');
for header in ['1.1 Introduction', '1.42 Appendix']:
print re.split(c, header)[1:] # Remove the first element because it's empty

输出:

['1.1', 'Introduction']
['1.42', 'Appendix']

关于Python positive-lookbehind 拆分可变宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22748123/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com