Python:如何提取2个常量子字符串之间的变量

2024-04-27 14:35:14 发布

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

我试图提取字符串中两个常量子字符串之间的变量。比如说,

我想提取可变的苹果、橘子、西瓜、猕猴桃……13杯、14杯……19杯。我正在使用重表达式来开始第一步,即在$sign之间取变量,但没有得到任何结果

任何人都可以就正确的表达式提供建议,或者是否有更好的方法提取它

谢谢

import re

file = '$n$n$n$xa0$n$nSHOWALL$nSHOWALL%GROWTH$n$n$xa0$n$xa0$n$n$n$nApple$na$nOrange$n$nWatermelon$nKiwi$n$nBanana$nJackfruit$n$nGuava$na$nGrape$n$nPlum$na$nOrange$n$nCoconut$nWatermelon$n$n12cups$n13cups$n$n14cups$na$n15cups$n$n16cups$na$n17cups$n$n18cups$n19cups$n' 

found = re.findall(r'(?=$(.*?)$)',file)

print(found)

Tags: 字符串苹果re表达式量子建议filexa0
1条回答
网友
1楼 · 发布于 2024-04-27 14:35:14

鉴于识别所需字符序列的规则是模糊的,我认为RE是不切实际的。毫无疑问,是可以做到的,但这里有一个快速而肮脏的方法来解决这个问题:-

data = '$n$n$n$xa0$n$nSHOWALL$nSHOWALL%GROWTH$n$n$xa0$n$xa0$n$n$n$nApple$na$nOrange$n$nWatermelon$nKiwi$n$nBanana$nJackfruit$n$nGuava$na$nGrape$n$nPlum$na$nOrange$n$nCoconut$nWatermelon$n$n12cups$n13cups$n$n14cups$na$n15cups$n$n16cups$na$n17cups$n$n18cups$n19cups$n'


for token in data.split('$n'):
    if token not in ('SHOWALL%GROWTH', 'SHOWALL', '$xa0', 'a', ''):
        print(token)

相关问题 更多 >