【发布时间】:2012-01-16 22:19:17
【问题描述】:
我在 Perl 中遇到了一个似乎给我带来问题的正则表达式。我对 Perl 还很陌生——但我认为这不是我的问题。
代码如下:
if ($line =~ m/<amount>(\d*\.\d{2})<\//) { $amount = $1; }
我实际上是在为单个标签解析 XML 格式的文件。这是我要解析的具体值。
<amount>23.00000</amount>
有人能解释一下为什么我的正则表达式不起作用吗?
编辑:我应该提到我正在尝试将金额作为货币价值导入。后面的 3 位小数没有用。
【问题讨论】:
-
你只匹配两个小数位,你的文本中有 5 个
-
你的正则表达式中真的有反引号字符吗?
-
抱歉,实际的正则表达式中没有反引号。由于某种原因,该网站在我的“代码”中忽略了
,所以我将它们放入。 -
@Rico 这是因为您使用的是块引用而不是代码示例。