【发布时间】:2011-09-20 20:55:30
【问题描述】:
我不会写很多正则表达式,所以我需要一些帮助。
我需要一个正则表达式来验证字符串是否为字母数字逗号分隔的字符串。
例子:
-
123, 4A67, GGG, 767将是有效的。 -
12333, 78787&*, GH778无效 -
fghkjhfdg8797<无效
这是我目前所拥有的,但不太正确:^(?=.*[a-zA-Z0-9][,]).*$
有什么建议吗?
【问题讨论】:
-
您的正则表达式的意思是“如果下一位匹配但不消耗任何一个字符,然后是 az、AZ 或 0-9 中的一个,后跟以下之一:逗号。然后在字符串结尾之前消耗任何一个字符。”这不可能匹配任何东西,因为非消费部分必须匹配三个字符,包括尾随逗号,然后才能匹配一个东西。
-
@markets:OP 没有使用代码格式,因此两个
*量词不可见。正则表达式仍然是错误的,但现在它更有意义了。 ;) @JohnH:如果你使用 SO 的格式化工具,你会得到更好的结果;他们非常好。