我有一个永远是动态的字符串,每次返回以下值之一时:
返回1 - > Após o vencimento cobrar juros mora/dia de: R$ 3.44 ao dia Multa de: R$ 17,21 Valores expressos em Real (R$\f REMESSA CIP 263
返回2 - > Após o vencimento cobrar juros mora/dia de: R$ 23.56 ao dia Multa de: R$ 117,80 Valores expressos em Real (R$\f REMESSA **PARCELA 01 / 02**
我需要获得' 之后的价值(R $ \ f ',也就是说,我需要一个能让我回归的正则表达式:
REMESSA CIP 263`和REMESSA ** PARCELA 01/02
我的正则表达式是这个 - > /\(R\$\\f (.*?)/i
,但效果不正常。
我该如何解决这个问题?
答案 0 :(得分:0)
Double escape $
& \f
并使其余部分贪婪,如:
$arr = Array('Após o vencimento cobrar juros mora/dia de: R$ 3.44 ao dia Multa de: R$ 17,21 Valores expressos em Real (R$\f REMESSA CIP 263',
'Após o vencimento cobrar juros mora/dia de: R$ 23.56 ao dia Multa de: R$ 117,80 Valores expressos em Real (R$\f REMESSA **PARCELA 01 / 02** ');
foreach($arr as $str) {
preg_match("/\(R\\$\\\\f (.*)/i", $str, $m);
print_r($m);
}
<强>输出:强>
Array
(
[0] => (R$\f REMESSA CIP 263
[1] => REMESSA CIP 263
)
Array
(
[0] => (R$\f REMESSA **PARCELA 01 / 02**
[1] => REMESSA **PARCELA 01 / 02**
)
答案 1 :(得分:0)
(R$\f
。.*?
贪婪,以便它实际匹配。结果:
(?<=\(R\$\\f ).*