给定一个字符串,例如:
23,234,456 first second third
如何将字符串拆分为两部分,其中第 1 部分包含开头的数字,第 2 部分包含其余部分——但前提是字符串以数字开头,并且数字可以用逗号分隔吗?换句话说,我想要两个结果:23,234,456
和first second third
. 如果该字符串中有一个数字不是第一个数字的一部分,那么它应该在第二个结果中。
到目前为止,我最好的尝试是在开始时抓住数字,是这样的:
^[0-9]+(,[0-9]{3})*
这似乎抓住了开始行的逗号分隔或非逗号分隔的数字。但是,当我在 Javascript 控制台中运行它时,我不仅得到了完整的数字,而且还得到了最后 3 位数字与它们前面的匹配,
。(例如23,234,456
和,456
)。
至于将其余部分放入另一个变量中,我遇到了麻烦。我尝试使用\b
,等等,但我认为我必须错过一些关于抓住其余部分的基本知识。
我在 Javascript 中这样做以防万一。
更多关于匹配和不匹配的示例。
2 one two three
应该返回2
并且one two three
2345 one two three
应该返回2345
并且one two three
2 one 2 three
应该返回2
并且one 2 three
2,234 one two 3,000
应该返回2,234
并且one two 3,000
第 1 部分和第 2 部分之间的空格可以包含在第 2 部分的开头。