我将html页面解析为纯文本,以便查找并获取数值。 在整个html混乱中,我需要找到一个像这样的字符串:
C) Debiti33.197.431,90I - Di finanziamento
我需要数字33.197.431,90(这个数字会在每个html解析请求中发生变化。
有没有正则表达式来实现这一目标?例如:
STARTS WITH 'C) Debiti' ENDS WITH 'I - Di finanziamento' GETS the middle string that can be whatever.
每当我尝试时,我都会得到空洞的结果......对于正则表达式一无所知。 你能帮我么? 非常感谢你。
答案 0 :(得分:2)
你可以试试下面的正则表达式,
^C\) Debiti\K.*?(?=I - Di finanziamento$)
PHP代码将是,
<?php
$mystring = "C) Debiti33.197.431,90I - Di finanziamento";
$regex = '~^C\) Debiti\K.*?(?=I - Di finanziamento$)~';
if (preg_match($regex, $mystring, $m)) {
$yourmatch = $m[0];
echo $yourmatch;
}
?> //=> 33.197.431,90
答案 1 :(得分:0)
这应该有效。阅读Want to Be Lazy? Think Twice.
部分(?<=\bC\) Debiti)[\d.,]+(?=I - Di finanziamento\b)
这是demo
示例代码:
$re = "/(?<=\\bC\\) Debiti)[\\d.,]+(?=I - Di finanziamento\\b)/i";
$str = "C) Debiti33.197.431,90I - Di finanziamento";
preg_match($re, $str, $matches);