这是我的尝试,但它不起作用。这些天我在正则表达式上如此生疏,所以我不知道它有什么问题。有什么帮助吗?
$pattern = '/-\$[.*]$/';
答案 0 :(得分:2)
您需要将*
置于[]
之外(或者更好,使用+
)。
尝试'/-\$[0-9\.]+/'
:
$pattern = '/-\$[0-9\.]+/';
或者,如果 - $ 7.50将始终位于该行的末尾:
$pattern = '/-\$[0-9\.]+$/';
答案 1 :(得分:1)
$pattern = '/-\$(.*)$/';
如果我理解得很好。该号码将在替换字符串中以“$ 1”的形式访问
答案 2 :(得分:1)
尝试:
$pattern = '/-\$\d+\.\d+/';
它将匹配减号(如果您将其更改为-?
,减号将是可选的),数字,点和点后的数字。
答案 3 :(得分:1)
<?php
$string = 'Wow! -$7.50 now!';
$pattern = '/-\$(\d+)\.(\d+)/';
$replacement = '-10%';
echo preg_replace($pattern, $replacement, $string);
?>