正则实例
几点几分 [不带秒]
"(((1[0-9])|(2[0-3])|([0-9])):[0-5][0-9])|24:00"
日期
"((((0[0-9])(([02468][48])|([13579][26]))-0?2-29))|(((0[0-9])(([2468][048])|([13579][26]))-0?2-29))|(((0[1-9])(([02468][048])|([13579][26]))-0?2-29))|((([1-9][0-9])(([02468][048])|([13579][26]))-0?2-29))|((0[0-9][0-9][1-9])|(0[0-9][1-9][0-9])|(0[1-9][0-9][0-9])|([1-9][0-9][0-9][0-9]))-((((0?[1-9])|(1[0-2]))-((0?[1-9])|(1[0-9])|(2[0-8])))|((((0?[13578])|(1[02]))-31)|(((0?[1,3-9])|(1[0-2]))-(29|30)))))"
时间
"(0?[0-9]|1[0-9]|2[0-3]):(0[0-9]|[12345][0-9]):(0[0-9]|[12345][0-9])"
验证数字的,非负,可以有小数位,也可以没
[0-9]{1,N}|[0-9]{1,N}.[0-9]{0,N} or /^[0-9]+(\.[0-9]+)*$/;
+就是表示最少出现一次 *是表示任意次
正则表达式 | 表示或者 但是没有 并且
\w 数字 26个英文字母 和 下划线
\d =[0-9]
[0-9a-zA-Z] 数字 26个英文字母
提取字符串中的日期
string text = "site_type = '1' And time_stamp Between(#2010-05-01#, #2010-05-06#)";
Regex reg = new Regex("(\\d{4})-(\\d{1,2})-(\\d{1,2})", RegexOptions.None);
MatchCollection matchCollection = reg.Matches(text);
foreach (Match match in matchCollection)
{
}
自动转大写 (\p{LU}|\d)+
自动转小写 (\p{Ll}|\d)+
[a-zA-Z]+
\d+
^ 第一个位置$ 后面的位置
\d+|\d+\.\d+ 等价于 \d+(\.\d+)?
{“?”除了表示重复之外,还表示可选。}
(((gr[ae])y)+
匹配 gray grey 一次或者N次
简单电子邮件
表达式 |
(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3}) |
描述 |
简单符合<name>@xxx.com即可。 粗略验证 |
匹配的例子 |
[foo@bar.com], [foobar@foobar.com.au] |
不匹配的例子 |
[foo@bar], [$$$@bar.com] |
验证一对封闭的xml标记 | |
表达式 |
^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$ |
标准验证电子邮件地址
表达式
^(([^<>;()[\]\\.,;:@"]+(\.[^<>()[\]\\.,;:@"]+)*)|(".+"))@((([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))\.)*(([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|(\[((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\.){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))\]))$
表达式 |
(^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$) |
描述 |
大于零的Decimal数字 |
任何Decimal数字 | |
表达式 |
^(\d|-)?(\d|,)*\.?\d*$ |
0-99999999的带或不带逗号的数字 | |
表达式 |
^(\d|-)?(\d|,)*\.?\d*$ |
0-65535的值 | |
表达式 |
^([0-5]?\d?\d?\d?\d|6[0-4]\d\d\d|65[0-4]\d\d|655[0-2]\d|6553 [0-5])$ |
GUID | |
表达式 |
^[{|\(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}[\)|}]?$ |
信用卡号 | |
表达式 |
^[{|\(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F]{12}[\)|}]?$ |
验证html中的16位颜色值 | |
表达式 |
^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$ |
描述 |
验证html中的16进制的颜色值 #是可选的。 |
匹配的例子 |
#00ccff ffffcc |
不匹配的例子 |
blue 0x000000 |