正则表达式验证逗号分隔的字符串

Pin*_*ndo 1 c# regex

我有一个以下格式的字符串:名字,艺术家,细节,流派,长度

可以在逗号之间输入任何字符.到目前为止我已经做到了这一点,但似乎没有用:

if(!Regex.IsMatch(songDetails,@"^([\w]+,)+[\w]+$"))
{
 throw new Exception("Enter data into all cells");
}
Run Code Online (Sandbox Code Playgroud)

songDetails是用户输入的字符串输入,我想验证.

我在哪里错了?

编辑:我应该更具体地说明这个字符串的来源.我正在从dataGridView中读取值.如果用户将行留空但输入长度值,则会保存数据,但不应允许该数据

Dus*_*gen 9

检查拆分结果的长度可能比使用正则表达式更简单.

var songDetailsArray = songDetails.Split(",");

if(songDetailsArray.Length != 5)
{
     throw new Exception("Enter data into all cells");
}
Run Code Online (Sandbox Code Playgroud)

  • 正如着名引用的那样......有些人在面对问题时会想"我知道,我会使用正则表达式."现在他们有两个问题. (4认同)