我想我需要使用某种正则表达式但是还在努力......
我有一个字符串,例如
the cat sat on the mat and $10 was all it cost
我想返回
$10
货币代码是否有通用名称,因此如果是
,我可以返还10英镑the cat sat on the mat and £10 was all it cost
或者为表达式添加更多字符的方法
答案 0 :(得分:0)
$string = 'the cat sat on the mat and $10 was all it cost';
$found = preg_match_all('/[$£]\d*/',$string,$results);
if ($found)
var_dump($results);
答案 1 :(得分:0)
您可以使用
/(\$.*?) /
(注意在右括号后面有空格)
如果要添加更多符号,请使用括号:
$str = 'the cat sat on the mat and £10 was all it cost';
$matches = array();
preg_match( '/([\$£].*?) /', $str, $matches );
如果货币符号位于值之前,并且值后面有空格,则此功能将起作用。您可能想要检查更一般的情况,例如句子末尾的值没有尾随空格等。
答案 2 :(得分:0)
这可能适合你
$string = "the cat sat on the mat and $10 was all it cost";
preg_match("/ ([\$£\]{1})([0-9]+)/", $string, $matches);
echo "<pre>";
print_r($matches);