在我的asp.net应用程序中,我有一个文本框,我想允许逗号分隔值,例如
name1,name1,name3
我有一个用于检查值的正则表达式,即单个值(name1
或name2
或name3
)必须满足正则表达式[a-zA-Z]+[a-zA-Z0-9-_]*
。
现在我想使用单个正则表达式检查这两个验证
单个值必须满足[a-zA-Z]+[a-zA-Z0-9-_]*
正则表达式
文本框必须以逗号分隔值。
我无法为此创建适当的regEx。
答案 0 :(得分:3)
您可以使用
^[a-zA-Z]+[a-zA-Z0-9_-]*(?:,[a-zA-Z]+[a-zA-Z0-9_-]*)*$
<强>解释强>
^ # Start of string
[a-zA-Z]+[a-zA-Z0-9_-]* # Match a single value
(?: # Start of non-capturing group
, # Match a comma
[a-zA-Z]+[a-zA-Z0-9_-]* # Match a single value
)* # Repeat non-capturing group as often as necessary
$ # End of string
如果您正在使用该正则表达式客户端(即根据ECMAScript规则),您可以将其简化为
(?i)^[a-z]+[\w-]*(?:,[a-z]+[\w-]*)*$