gpt4 book ai didi

python - 正则表达式搜索查找查询之前和之后

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:07 24 4
gpt4 key购买 nike

所以我有这个序列,我尝试使用正则表达式的搜索功能来查找查询出现之前的区域和之后的区域。

这就是我所拥有的

sequence = 'abcdefghijklmnopqrstuvwxyz'
query = 'jklmnop'

这就是我想要的结果

before = 'abcdefghi'
after = 'qrstuvwxyz'

我之前试过了,没用。我认为这会将其分为 3 组

sequence = 'abcdefghijklmnopqrstuvwxyz'
query = 'jklmnop'
print re.search('\w+(query)\w+',sequence).group(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'

最佳答案

在字符串中写入 query 不会将 query 的值存储在该字符串中,它只是创建一个包含字符串“query”的新字符串。

>>> print '\w+(query)\w+'
\w+(query)\w+

您应该使用字符串格式:

>>> sequence = 'abcdefghijklmnopqrstuvwxyz'
>>> query = 'jklmnop'
>>> '(\w+)({})(\w+)'.format(query)
'(\\w+)(jklmnop)(\\w+)'

>>> re.search('(\w+)({})(\w+)'.format(query),sequence).group(1)
'abcdefghi'
>>> re.search('(\w+)({})(\w+)'.format(query),sequence).group(3)
'qrstuvwxyz'

出于此类目的,最好使用 re.split:

>>> strs = 'abcdefghijklmnopqrstuvwxyz'
>>> import re
>>> before, after = re.split('jklmnop',strs)
>>> before
'abcdefghi'
>>> after
'qrstuvwxyz'

关于python - 正则表达式搜索查找查询之前和之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222159/

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