我有一个变量,它可以包含一些变体,它还包含一个可以是任何数字的数字。
变体:
($stuksprijs+9.075);
($stuksprijs-9.075);
($stuksprijs*9.075);
($m2+9.075);
($m2-9.075);
($m2*9.075);
($o+9.075);
($o-9.075);
($o*9.075);
这些是唯一的变化,除了其中的数字,它们可以改变。我需要那个号码。
所以可以有:
($m2+5);
或
($o+8.25);
或
($stuksprijs*3);
我怎样才能从这些变化中得到数字?如何用正则表达式从上面的例子中得到9.075或5或8.25或3?
我正试图用PHP解决这个问题,我的变量包含字符串:$explodeberekening[1]
我阅读了多个正则表达式教程,并使其适用于从未更改的单个字符串,但我如何编写正则表达式来从上述变体中获取数字?
根据我的评论,这似乎奏效了,你可以尝试:
^($(?:stuksprijs|m2|o)[+*-](d+(?:.d+)?));$
该号码在第一个捕获组中捕获。请参阅在线演示。
快速分解:
^
-启动字符串锚- CCD_ 3-字面匹配";($">
(?:
-打开一个非捕获组以列出替换:stuksprijs|m2|o
-匹配这些文字替代项之一)
-关闭非捕获组
[+*-]
-匹配字符类中的一个符号(
-打开第一个捕获组:d+
-1+位数字(?:.d+)?
-额外的可选非捕获组,用于匹配文字点和1个以上的数字)
-关闭第一个捕获组
);
-字面匹配"(&">$
-端柱锚