我有下面的文本文件:
data:<SupplierParty
data:xmlns="xxx">
data: <cbc:CustomerAssignedAccountID schemeID="vendor-id">
data: 20750
data: </cbc:CustomerAssignedAccountID>
data: <cbc:AdditionalAccountID schemeID="cashflow:v1">151</cbc:AdditionalAccountID>
data:<SupplierParty
data:xmlns="xxx">
data: <cbc:CustomerAssignedAccountID schemeID="vendor-id">
data: 20751
data: </cbc:CustomerAssignedAccountID>
data: <cbc:AdditionalAccountID schemeID="cashflow:v1">151</cbc:AdditionalAccountID>
data:<SupplierParty
data:xmlns="xxx">
data: <cbc:CustomerAssignedAccountID schemeID="vendor-id">
data: 20752
data: </cbc:CustomerAssignedAccountID>
data: <cbc:AdditionalAccountID schemeID="cashflow:v1">151</cbc:AdditionalAccountID>
我只想提取值:
20750
20751
20752
从文件上。
我最接近的是:
(?<=vendor-id"\>)(.*?)(?=\<\/cbc:CustomerAssignedAccountID)
但本节录:
data: 20751
data:
我只要数字。
我该怎么做?
2条答案
按热度按时间yrwegjxp1#
我不知道你使用的语言,但你可以尝试下面的正则表达式
以下是匹配项
第一个
现在我添加了括号
()
来创建组现在我不知道你使用的是哪种语言,但你可以很容易地通过使用组提取该数字
xpszyzbs2#
我会这样做:
vendor-id">[^<]*?(\d+)
比赛将在匹配组1中。
重要的是
?
在[^<]*
之后,以便它匹配非贪婪。https://regex101.com/r/e3eR6y/1