Python Regex获取两个子字符串之间的字符串
问题内容:
首先,我知道这 似乎 是一个重复的问题,但是,我找不到解决我问题的可行方法。
我有看起来像以下的字符串:
string = "api('randomkey123xyz987', 'key', 'text')"
我需要提取 randomkey123xyz987 ,它将始终在 api(’ 和 ‘之间,
我打算为此使用正则表达式,但是,似乎有些麻烦。
这是我取得的唯一进步:
import re
string = "api('randomkey123xyz987', 'key', 'text')"
match = re.findall("\((.*?)\)", string)[0]
print match
以下代码返回 “ randomkey123xyz987”,“ key”,“ text”
我尝试使用 [^’] ,但是我的猜测是我没有正确地将其插入re.findall函数。
我尝试的一切都失败了。
更新:我当前的解决方法是使用 [2:-4] ,但是我仍然想避免使用 match [2:-4] 。
问题答案:
如果字符串仅包含一个实例,请re.search()
改用:
>>> import re
>>> s = "api('randomkey123xyz987', 'key', 'text')"
>>> match = re.search(r"api\('([^']*)'", s).group(1)
>>> print match
randomkey123xyz987