我如何定位<和>与正则表达式?

时间:2015-07-10 13:19:58

标签: php regex

我正在使用设计糟糕的系统,我试图将订单从Opencart导入到。问题在于它不接受float值为float,即。带点,但需要逗号,这意味着<RowUnitPrice>6.4516</RowUnitPrice>必须转换为<RowUnitPrice>6,4516</RowUnitPrice>。我已经设法使用以下正则表达式:

/(?<=\d)\.(?=d)/

然而,这造成了一个问题。有一个产品有一个产品代码,匹配并被替换。因此<RowArticleCode>CLA713/1.5</RowArticleCode>成为<RowArticleCode>CLA713/1,5</RowArticleCode>。我将我的正则表达式修改为以下内容:

/(?<=[>\d])\.(?=[\d<])/

目的是仅匹配例如>000.000<,但有问题的文章代码仍然匹配和替换,我不知道为什么。我不能来这里的是什么?

1 个答案:

答案 0 :(得分:1)

尝试:

/(?<=\>)(\d+)\.(\d+)(?=\<)/g

您可以使用已捕获的群组进行替换:$1,$2 DEMO