Regex 仅限正则表达式的数字

Regex 仅限正则表达式的数字,regex,Regex,我试图找出一个正则表达式来从字符串中提取数字。目前我掌握了这条线索: USD0,13 我只想搜索0,13 还有其他字符串将包含数字,例如1,14美元 任何帮助都会很好。 干杯对于您的案例,最简单的方法是: '/[0-9,]+/' 在PHP中 $str = 'USD0,13'; $matches = array(); preg_match('/[0-9,]+/', $str, $matches); echo $matches[0]; 一个/USD[0-9,\.]+/的正则表达式应该可以满足您

我试图找出一个正则表达式来从字符串中提取数字。目前我掌握了这条线索:

USD0,13
我只想搜索0,13

还有其他字符串将包含数字,例如1,14美元

任何帮助都会很好。
干杯

对于您的案例,最简单的方法是:

'/[0-9,]+/'
在PHP中

$str = 'USD0,13';
$matches = array();
preg_match('/[0-9,]+/', $str, $matches);
echo $matches[0];
一个/USD[0-9,\.]+/的正则表达式应该可以满足您的需要。这个点不一定需要,除非你有一千个独立的考虑到它看起来像你在使用欧盟标准

如果您想要多种货币,您可以这样做:/EUR | GBP | USD[0-9\,\.]+/

由于您对Regex似乎很陌生,我将解释:

/是正则表达式的修饰符这可以是任何东西,但我们将使用斜杠,这是正则表达式最常见的字符。如果您希望它是incase-sensitive的,您可以例如do/regex/i,我的意思是incase-sensitive

USD只是一个由U、S和D组成的字符列表

这意味着我们希望正则表达式将这个匹配输出给我们

[0-9,\.]表示从0到9的数字,逗号和点注意点必须转义,如图所示。在正则表达式中,表示任何字符

我们的比赛之后是+表示任何与此比赛匹配的东西,重复1次或更多次

第二个例子,我们将美元换成了欧元|英镑|美元。这意味着欧元或英镑或美元


如果您还有其他问题,请随时提问。

您尝试过什么?你用的是什么正则表达式引擎?查找字符类。由于这是正则表达式,因此有人回答此问题只是时间问题: