Regex 仅匹配字符串中的十进制或整数值
我只想从带有正则表达式的字符串中获取十进制或整数值 输入字符串可以有多种可能的格式 我为预期的输出创建了一些测试用例Regex 仅匹配字符串中的十进制或整数值,regex,Regex,我只想从带有正则表达式的字符串中获取十进制或整数值 输入字符串可以有多种可能的格式 我为预期的输出创建了一些测试用例 Input Output SEK49.09 49.09 SEK 49.09 49.09 249,50.- 249,50 249.- 249 49- 49 49.90 49.90 399.90e 399.90 49,90€ 49,90 525 52
Input Output
SEK49.09 49.09
SEK 49.09 49.09
249,50.- 249,50
249.- 249
49- 49
49.90 49.90
399.90e 399.90
49,90€ 49,90
525 525
€28 28
$29 29
27,5 /h 27,5
27,5 text 27,5
我确信有一个更优雅的解决方案,但这种模式适用于您的所有测试用例:
/[0-9]+([,。]?[0-9]+)*/g
(\\d+(?:[\\\.\\,]\\d+)
也可以匹配“,,222”这样的数字。我用一个更防错的正则表达式编辑了我的答案(如果我错了,请告诉我!)看起来更好,虽然我认为这也会匹配类似5.5,5的东西,因为你已经有了明星(我在这里用手机记忆,所以如果我错了,请道歉。)