Python Regex获取两个子字符串之间的字符串

2024-10-02 12:28:21 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我知道这似乎是一个重复的问题,但是,我找不到有效的解决办法。在

我有一个如下所示的字符串:

string = "api('randomkey123xyz987', 'key', 'text')"

我需要提取随机键123xyz987,它总是介于api('',

我本来打算用正则表达式来解决这个问题,但是,我似乎遇到了一些麻烦。在

这是我唯一取得的进展:

^{pr2}$

下面的代码返回'randomkey123xyz987','key','text'

我尝试过使用[^'],但我猜我没有正确地将它插入到关于芬德尔功能。在

我所尝试的一切都失败了。在


更新:我当前的解决方法是使用[2:-4],但我仍然希望避免使用match[2:-4]。在


Tags: 方法key字符串代码text功能apistring
3条回答

您需要(,之间的字符串,您将捕获paren之间的所有内容:

match = re.findall("api\((.*?),", string)

print match 
["'randomkey123xyz987'"]

或匹配''

^{pr2}$

如果这就是你的字符串的实际外观,你可以拆分:

string = "api('randomkey123xyz987', 'key', 'text')"

print(string.split(",",1)[0][4:])

如果字符串只包含一个实例,请改用^{}

>>> import re
>>> s = "api('randomkey123xyz987', 'key', 'text')"
>>> match = re.search(r"api\('([^']*)'", s).group(1)
>>> print match
randomkey123xyz987

应使用以下正则表达式:

api\('(.*?)'

假设api(是固定前缀

它匹配api(,然后捕获接下来出现的内容,直到'标记。在

^{pr2}$

相关问题 更多 >

    热门问题