我是正则表达式的新手,想知道如何才能只获得字符串中的第一个数字,例如 100 2011-10-20 14:28:55
。在这种情况下,我希望它返回 100
,但数字也可以更短或更长。
我在想类似 [0-9]+
的东西,但它需要单独的每个数字 (100,2001,10,…)
谢谢你。
原文由 ratsimihah 发布,翻译遵循 CC BY-SA 4.0 许可协议
我是正则表达式的新手,想知道如何才能只获得字符串中的第一个数字,例如 100 2011-10-20 14:28:55
。在这种情况下,我希望它返回 100
,但数字也可以更短或更长。
我在想类似 [0-9]+
的东西,但它需要单独的每个数字 (100,2001,10,…)
谢谢你。
原文由 ratsimihah 发布,翻译遵循 CC BY-SA 4.0 许可协议
/^[^\d]*(\d+)/
这将从头开始,跳过任何非数字,并匹配它找到的第一个数字序列
编辑:此正则表达式将匹配第一组数字,但是,正如其他答案中指出的那样,如果您知道数字位于字符串的开头,parseInt 是更好的解决方案
原文由 hair raisin 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答733 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
试试这个来匹配字符串中的第一个数字(可以不在字符串的开头):