我想从一个正则表达式中提取字符串" 981"," 1922"," 1849"," 1819"。
#string 1
:3:LKR5000->981:4:LKR1000->1922:5:LKR500->1849:6:LKR100->1819
#string 2
:1:LKR5000->981
:2:LKR1000->1922
:3:LKR500->1849:4:LKR100->1819
书面python代码:
firstNote=re.findall(':d:LKRw+->(.*?):',strtosearch2,re.DOTALL)
1000s=re.findall('LKR1000->(.*?):',strtosearch2,re.DOTALL)
500s=re.findall('LKR500->(.*?):',strtosearch2,re.DOTALL)
100s=re.findall('LKR100->(.*?)n',strtosearch2,re.DOTALL)
谁能帮助我完成代码?谢谢
尝试以下等级:
(?<=->)d+
单击Demo
请参阅此处的代码
说明:
-
(?<=->)
-积极的外观,以查找立场之前的位置->
-
d+
-匹配1 数字的出现
或,使用此言论:
(LKRd+)->(d+)
单击Demo
从此正则匹配中,对于每场比赛,您可以提取组1的内容,并检查它是否为 LKR1000
, LKR500
, LKR100
,并从该匹配项的组2中获取其相应的值
以下言论应该写: r"LKRd+->(d+)"
:
re.findall(r"LKRd+->(d+)",s1)
#['981', '1922', '1849', '1819']
re.findall(r"LKRd+->(d+)",s2)
#['981', '1922', '1849', '1819']