reg从括号中提取内容

2024-09-28 19:27:54 发布

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

我有这个string = "abc('abt')",我只想提取值。你知道吗

我试过:string = string.strip("abc('/)")我在用python。如果结果是't',但是我想要'abt'。我该怎么做?你知道吗


Tags: stringstripabcabt
3条回答

.strip()获取一组要删除的字符。您正在删除构成开始和结束的所有abc('/)字符。只剩下t。你知道吗

您可以在'上拆分:

string.split("'")[1]

或者,您可以通过切片明确删除开头和结尾的确切字符:

string[5:-2]

这里有一个正则表达式,可以在括号内的单引号中找到所有内容。它搜索一个左括号,后跟一个单引号,然后收集指向另一个单引号和右括号的所有内容:

>>> import re
>>> s = "abc('abt')"
>>> regex = re.compile("\('(.*)'\)")
>>> m = re.search(regex, s)
>>> m.group(1)
'abt'
^[^=]*=\sabc\(['"]?(\w+)['"]\)$

这个正则表达式将在第一组中捕获您想要的内容。我不知道如何在python中提取它的值,让我用google搜索一下:)

import re
regex = re.compile(r"^[^=]*=\s\"abc\(['""]?(\w+)['""]\)\"$")
input = "string = \"abc('abt')\""
matches = regex.match(input)
your_val = matches.group(1)

注意,这个正则表达式只适用于“value”字符串,比如“abc”

对不起,我手头没有Python,还没有测试过,但我想你已经知道了。你知道吗

相关问题 更多 >