需要正则表达式匹配1个或更多正好n位数字

Luk*_*asz 6 regex

我需要一个正则表达式来匹配一系列由逗号分隔的一个或多个n位数字,即:

abc12345def返回12345
abc12345,23456def返回12345,23456

到目前为止我得到了这个: \d{5}(,\d{5})*

问题是它在以下情况下也匹配:

123456返回12345,但如果数字长于5,我需要它不匹配.所以我需要5个数字的数字,如果数字更短或更长,那就是不匹配

谢谢

Jer*_*ock 5

你正在使用哪种语言的正则表达式?你想在你\d{5}的周围放置非数字标记; 这是Perl语法(Lukasz的负向前瞻/后视修复):

(?<![\d,])\d{5}(,\d{5})*(?![\d,])
Run Code Online (Sandbox Code Playgroud)