php - 带有点和运算符的正则表达式 PHP 十进制数
问题描述
我有一个列表,我想检索其中的所有十进制数字。它们的存储方式如下 +900.00 或 -240.30。
它们都有一个运算符“+”或“-”。
$liste = "Pack Eclairage : Lave-phares Projecteurs Bi-X\u00e9non 35W directionnels Feux AV eclairage diurne LED : -400.00Etriers de freins Rouge : +200.00|Jantes en alliage 19\" Performance Noires (avec Pneus Run-On Flat) : +900.00|Pack Confort : Syst\u00e8me d'entr\u00e9e sans cl\u00e9s (conducteur et passager) Eclairage des poign\u00e9es de portes Compartiment porte-objets c\u00f4t\u00e9 conducteur Pare-soleil conducteur avec illumination : +580.00|Peinture Pastel Extra-s\u00e9rie Blanc Alfa : +650.00|Vitres AR privatives : +390.00";
$tab_liste = explode("|", $liste);
foreach($tab_liste as $option) {
// regex here
}
编辑: 我怎样才能在 PHP 中首先检索选项名称,其次是运算符,然后是十进制数?谢谢。
解决方案
您甚至不需要在explode()
这里使用,因为preg_match_all
可以处理对给定输入字符串进行多个正则表达式匹配:
$liste = "Pack Eclairage : Lave-phares Projecteurs Bi-X\u00e9non 35W directionnels Feux AV eclairage diurne LED : -400.00Etriers de freins Rouge : +200.00|Jantes en alliage 19\" Performance Noires (avec Pneus Run-On Flat) : +900.00|Pack Confort : Syst\u00e8me d'entr\u00e9e sans cl\u00e9s (conducteur et passager) Eclairage des poign\u00e9es de portes Compartiment porte-objets c\u00f4t\u00e9 conducteur Pare-soleil conducteur avec illumination : +580.00|Peinture Pastel Extra-s\u00e9rie Blanc Alfa : +650.00|Vitres AR privatives : +390.00";
preg_match_all ("/([+\-])(\d+(\.\d+)?)/", $liste, $array);
for ($i=0; $i < count($array[1]); $i++) {
echo $array[1][$i] . ", " . $array[2][$i] . "\n";
}
-, 400.00
+, 200.00
+, 900.00
+, 580.00
+, 650.00
+, 390.00
演示
推荐阅读
- pyspark - AttributeError:“NoneType”对象在 indexedRowMatrix columnSimilarities() 之后没有属性“setCallSite”pyspark
- unit-testing - 用 Jest 模拟 Observable - rxjs
- python - Python函数返回多个元素
- javascript - Basic Ajax POST sending values arrives null in the controller
- laravel - Laravel Nova - 两个“一对多关系”
- laravel - 如何从 laravel 代码验证 mysql Encode() 密码
- javascript - html表单值到mysql数据库
- r - 在 R 中对逐步模拟进行矢量化
- bootstrap-4 - 导航栏药丸中的 Bootstrap4.1.x 下拉菜单仅调用选项卡内容
- r - 根据现有的行和列计算 r 数据框 r 中的新行