我试图用两个逗号分隔至少三个单词。到目前为止,我设法将两个单词与一个逗号匹配
/([A-z]|[0-9])(,{1})([A-z]|[0-9])/
但是如何为此添加一个逗号和一个单词。我尝试重复相同但不起作用。
答案 0 :(得分:5)
/^(?:\w+,){2,}(?:\w+)$/
这将为您提供至少3个单词的逗号分隔列表([a-zA-Z0-9 _] +)。
/^\s*(?:\w+\s*,\s*){2,}(?:\w+\s*)$/
这是第一个用户友好的版本,允许在单词之间留出空格。
答案 1 :(得分:2)
如果它是PERL derived regex,就像我遇到的大多数实现一样,/[^,]+(?:,[^,]+){2,}/
可以很好地测试其中至少有两个逗号的内容,只要逗号之间有逗号即可。 (?:)
构造允许分组而不捕获。 {2,}
构造指定前一组的两个或多个匹配项。在javascript中,您可以测试它:
/[^,]+(?:,[^,]+){2,}/.test("hello,world,whats,up,next"); // returns true
/[^,]+(?:,[^,]+){2,}/.test("hello,world"); // returns false
答案 2 :(得分:0)
从绩效角度来看,很少有一般性建议:
答案 3 :(得分:0)
试试这个:
([a-zA-Z0-9]+)(,[a-zA-Z0-9]+){2,}
答案 4 :(得分:-1)
这将解决您的问题, 试试这个
([A-ZA-Z0-9],[A-ZA-Z0-9],([A-ZA-Z0-9]))