一系列带连字符的键值对的正则表达式

Nee*_*raj 2 regex asp.net webforms

我需要为这种格式的数据输入验证文本框 -

"TeSt12-12TeSt,12Test-AB12,......"

这基本上是用逗号(,)分割的一系列键值(关键连字符值)

Readlike

anyAlphaNumeric后跟连字符anyAlphaNumeric,然后是"可选来自此处"逗号和anyAlphaNumeric,后跟连字符anyAlphaNumeric,然后是逗号和anyAlphaNumeric,后跟连字符anyAlphaNumeric ...

这里1s可以是AZ,az,0-9例子 - 11-11有效111-111,无效(逗号后面跟另一个键值集)1-1,1-1有效1-无效(连字符后缺少值)1-1,111-111,11-11111,111-111111有效

Tim*_*ker 5

行:

^        # Start of string
\w+      # Match any alnum,
-        # hyphen,
\w+      # any alnum.
(?:      # Try to match...
 ,       # comma,
 \w+     # any alnum,
 -       # hyphen,
 \w+     # any alnum
)*       # zero or more times.
$        # Match end of string.
Run Code Online (Sandbox Code Playgroud)

或(作为非冗长的正则表达式):

^\w+-\w+(?:,\w+-\w+)*$
Run Code Online (Sandbox Code Playgroud)

请注意,它\w也将与下划线匹配(并且,在.NET环境中,也可能匹配Unicode字母和数字.如果您不想这样,请使用[A-Za-z0-9]而不是\w.