以特定模式提取引号之间的文本

Extracting text between quotation marks in a specific pattern

string = "'Banana' aaaa 'Melon' aaa 'Strawberry' aaaaa 'Apple' aaaa 'Mango'bbb 'Watermelon' aaaa"

引号括起来的单词中bbb左右两边的'mango'和'watermelon'应该用什么正则表达式?

\'.+?\'

我只知道引号之间的单词

您可以使用 re.findall 两次:

string = "'Banana' aaaa 'Melon' aaa 'Strawberry' aaaaa 'Apple' aaaa 'Mango'bbb 'Watermelon' aaaa"
string = re.findall(r"'\S+'\s*bbb\s*'\S+'", string)[0]
matches = re.findall(r"'(.*?)'", string)
print(matches)  # ['Mango', 'Watermelon']

第一次调用 re.findall 将字符串隔离为 bbb,两边都有两个单引号。然后,我们再次调用 re.findall 来提取引用的术语。