我有一个.csv文件,我只对逗号分隔整数的行感兴趣:
23,2,4,56,78,9,4,6
一行中逗号分隔值的数量应大于5(或其他)。
我在perl中这样做。
答案 0 :(得分:11)
/^(\d+,){4,}\d+$/
匹配一组数字,后跟逗号。数字逗号对被视为一个组,其本身必须至少重复四次。然后匹配序列中不需要后跟逗号的最后一个数字。
如果您不需要捕获数字,请使用非捕获组(将略微加快速度):
/^(?:\d+,){4,}\d+$/
答案 1 :(得分:1)
/\d{1,3}(,\d{3}){0,4}/
这只会匹配格式正确的逗号分隔数字(例如100,000,000)。在逗号分隔文件中使用逗号分隔数字仍然是一个可怕的想法,但我离题了。正则表达式在上下文中最不可能出现问题。
答案 2 :(得分:0)
无论如何:
/^([0-9]\+,?)\+$/
已修改以更正评论中指出的错误。
答案 3 :(得分:0)
/\d+(?:,\d+)*/
或包含负数
/-?\d+(?:,-?\d+)*/
答案 4 :(得分:0)
您可能需要考虑使用[0-9]而不是\ d,因为\ d可以匹配Unicode认为数字但不是标准阿拉伯数字的内容。