我试图用python捕捉价格,但我的正则表达式没有返回任何结果
这句话是:“价格€”。我们知道单词1,但我们不知道单词A到X,也不知道价格(4位带“,”,”或1到2位之间没有任何内容)
我们需要在单词1后面的“€”前面获得价格编号…
我创造了这个:
regex = "(Word1) ([a-zA-Z])+ ( :)? ([0-9]{0,4})+ €"
以下哪项匹配:
Word1 zerdezd : 1243 €
Word1 zerdezd 1243 €
但不是在
Word1 zerdezd ezrozeu : 1243 €
这不管用
(Charges) (([a-zA-Z])+ )+( :){0,1} ([0-9]{0,4})+ €
你可以用
见regex demo
在Python中:
您可以匹配单词,后跟尽可能少的字符,直到您可以捕获组1中后跟欧元符号的金额
模式匹配:
\bWord1 .*?
匹配单词,后跟空格和尽可能少的字符\b(
单词边界,开始组1[0-9]{1,4}(?:[.,]\d+)?
将1-4位数字与可选的小数部分匹配)
闭合组1€
逐字匹配(如果可以有0个或更多空格字符,则使用\s*€
)Regex demo
范例
输出
Python demo
相关问题 更多 >
编程相关推荐