我正在试图找出一个正则表达式来从字符串中提取数字。目前我有字符串:
USD0,13
我只想搜索0,13
。
其他字符串将包含数字,例如USD1,14
。
任何帮助都会很棒。 干杯
答案 0 :(得分:1)
对你来说最简单的就是:
'/[0-9,]+/'
在PHP中
$str = 'USD0,13';
$matches = array();
preg_match('/[0-9,]+/', $str, $matches);
echo $matches[0];
答案 1 :(得分:1)
/USD([0-9,\.]+)/
的正则表达式应该做你想要的。除非你有千个分隔符(考虑到你看起来像是在使用欧盟标准),否则不一定需要这个点。
如果您想要多种货币,可以执行以下操作:/(EUR|GBP|USD)([0-9\,\.]+)/
。
由于你似乎对Regex很陌生,我会解释:
/
是正则表达式的修饰符(这可以是任何东西,但我们将使用斜杠,它是正则表达式中最常见的字符)。如果您希望它具有敏感性,例如您可以执行/regex/i
,而i
则意味着对此敏感。
USD
只是U
后跟S
后跟D
的字符列表。
(
和)
表示我们希望正则表达式将此匹配输出给我们。
[0-9,\.]
表示从0
到9
的数字,逗号和点(注意点必须转义,因为正则表达式中的.
表示“任何字符”。 )
我们的匹配后跟+
,表示“匹配此匹配的任何内容,重复1次或更多次”。
我们已使用USD
切换(EUR|GBP|USD)
的第二个示例。这意味着“EUR”或“GBP”或“USD”。
如果您有任何其他问题,请随时提出。