首先,对于不明确的标题感到抱歉,很难描述(并且出于同样的原因找到现有的解决方案)。
我在Javascript中使用这个正则表达式来收集字符串中的数字:
/(?:^|[^\d])([\d]+)(?:$|[^\d])/g
在"5358..2145"
上执行此操作会返回2个匹配项,其中子匹配为"5358"
和"2145"
但如果我在"5358.2145"
上使用它,我只会收到一个匹配:"5358"
所以,我明白了:
"5358."
),以便第一场比赛进入第一场比赛如何更改模式以查找用1个非数字字符分隔的所有数字?
答案 0 :(得分:1)
最后使用否定前瞻:
/(?:^|\D)(\d+)(?!\d)/g
请参阅regex demo
模式匹配:
(?:^|\D)
- 字符串开头(^
)或任何非数字字符(\D
)(\d+)
- 第1组:一个或多个数字(?!\d)
- 如果当前位置右侧有一位数字,那么负面预测就会失败。