当前位置:编程学习 > C#/ASP.NET >>

Regex.IsMatch

Regex.IsMatch(input, "{[0-9]|[a-z]|[A-Z]}*)
当我使用上面语句来校验字符串需要是数字或字母的组合,当我输入纯数字,不满足条件。
哪位大侠能帮分析下。 --------------------编程问答-------------------- (?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合 --------------------编程问答-------------------- 应该这么写
[0-9a-zA-Z]*
--------------------编程问答--------------------
引用 1 楼 Return_false 的回复:
(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合


谢谢。但是我想知道我的错在哪里了? --------------------编程问答--------------------
引用 3 楼 jborcl 的回复:
Quote: 引用 1 楼 Return_false 的回复:

(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合


谢谢。但是我想知道我的错在哪里了?


{ 是一个普通字符,其实你应该想用的是 ( 吧 --------------------编程问答--------------------

引用 4 楼 mmm306306 的回复:
Quote: 引用 3 楼 jborcl 的回复:

Quote: 引用 1 楼 Return_false 的回复:

(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合


谢谢。但是我想知道我的错在哪里了?


{ 是一个普通字符,其实你应该想用的是 ( 吧


不是的{a}*指的是含一个或多个a组成的字符串 --------------------编程问答--------------------
引用 3 楼 jborcl 的回复:
Quote: 引用 1 楼 Return_false 的回复:

(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合


谢谢。但是我想知道我的错在哪里了?

你写的正则相当于一个组合条件:
数字或小写字母或大写字母
那么字符串全由数字组成也可以了,所以不对。

Return_false写给你的也相当于一个组合条件:
不全部由字母组成 且 不全由数字组成 且 全由数字或字母组成
等价于“由字母和数字组成且2类字符都要存在。
--------------------编程问答-------------------- 另外你写的外面加上一对花括号,这也明显不对。 --------------------编程问答--------------------
引用 6 楼 dalmeeme 的回复:
Quote: 引用 3 楼 jborcl 的回复:

Quote: 引用 1 楼 Return_false 的回复:

(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$

必须为数字和字母组合


谢谢。但是我想知道我的错在哪里了?

你写的正则相当于一个组合条件:
数字或小写字母或大写字母
那么字符串全由数字组成也可以了,所以不对。

Return_false写给你的也相当于一个组合条件:
不全部由字母组成 且 不全由数字组成 且 全由数字或字母组成
等价于“由字母和数字组成且2类字符都要存在。

我想你搞错了,我是要实现数字或字母或他们的组合,而非数字字母的组合
--------------------编程问答-------------------- 1楼给你的即使我前面说的第二种情况,也不是你要的了。
你要的可能是这样:Regex.IsMatch(input, @"^[0-9a-zA-Z]+$") --------------------编程问答-------------------- 这类问题最好给出些样例:比如哪些是合法的,哪些有是不合法的,这样比较清晰。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,