数据库正则表明式

作者:数据库

{throw new Exception("时间格式错误")}

1,引子

正则表明式的施用,能够通过简单的不二秘技来落到实处庞大的成效。正是用一串字符验证是顺应一种标准,这么些规范就是正则表达式。

2,正则表明式的历史

RegExp 是正则表明式的缩写 正则表达式的第贰个实用应用程序便是Unix 中的 ged 编辑器。

5,全体标记解释

表2.常用的元字符

代码

说明

^

匹配字符串的开始

$

匹配字符串的结束

.

匹配除换行符以外的所有字符

w

匹配字母或数字或下划线或汉字

s

匹配任意的空白符(空格)

d

匹配数字

b

匹配单词的开始或结束

d{8}表示数字再次出现8次,假如是QQ号能够这么表示d{5,12} 表2.常用的限定符

代码/语法

说明

*

重复零次或更多次

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次,n不能大于m

8,C#中对正则的利用

RegularExpression 组合体

选用RegExp法规类需援引System.Text.RegularExpressions文件

该名字空间中满含6个类和三个概念

描述

Capture

包含一次匹配的结果

CaptureCollection

Captrue的序列

Group

一次组记录的结果,由Capture继承而来

Match

一次表达式的匹配结果,由Group继承而来

MatchCollection

执行替换操作时使用的代理

Regex

编译后表达式的实例

   

Regex包蕴的某个静态的主意:

方法

描述

Escape

对字符串中的regex中的转义符进行转义

IsMatch

判断是否匹配字符串,返回一上布尔值

Match

返回Match的实例

Matchs

返回一系列Match的方法

Replace

用替换字符串替换匹配的表达式

Split

返回一系列由表达式决定的字符串

Unescape

不对字符串中的转义字符进行转义

示例

常用表明式

验证对象

验证表达式

数字字母下划线

 

手机号

 

电话号

 

电话或手机号

 

1,正则表明式验证手提式有线电话机号

Regex reg=new Regex(@"^(12[0-9]|186|188|150|151|158|159|147)d{8}$");

1,剖断是还是不是相配

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Text.RegularExpressions;

 

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

while (true)

{

Console.WriteLine("请输入二个四人数字");

string regstr = @"^ddd$";

Regex reg = new Regex(regstr);

string intputstr = Console.ReadLine();

if (reg.IsMatch(intputstr))

{

Console.WriteLine("正确");

}

else

{

Console.WriteLine("错误");

}

Console.ReadKey();

}

}

}

}

 

 

2,正则表明式推断起头字母是不是为8

if (dt != null && dt.Rows.Count > 0)

{

string a = dt.Rows[0][0].ToString();

string regstr = @"^8.......$";

Regex reg = new Regex(regstr);

if (reg.IsMatch(a))

{

flag = true;

}

else { flag = false; }

}

 

 

例3:

string regstr = @"^(?0d{2}[) -]?d{8}$";

Regex reg = new Regex(regstr);

string intputstr = "010-22222222";

if (reg.IsMatch(intputstr))

{

Console.WriteLine("正确");

}

else

{

Console.WriteLine("错误");

}

 

例4:MatchEvaluator

return _JsonDateReg.Replace(jsonStr,new System.Text.RegularExpressions.MatchEvaluator(obj=>string.Format(":"{0:yyyy-MM-dd HH:mm:ss}"")));

数据库 1数据库 2/**//// <summary>
数据库 3        /// 正则表达式决断是不是为数字
数据库 4        /// </summary>
数据库 5        /// <param name="strNumber"></param>
数据库 6        /// <returns></returns>
数据库 7        public static bool IsNumber(string strNumber)
数据库 8数据库 9        数据库 10{
数据库 11            //^[- ]?[1-9]d*.?[0]*$
数据库 12            Regex objNotNumberPattern = new Regex("[^0-9.-]");
数据库 13            Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
数据库 14            Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
数据库 15            String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9] $";
数据库 16            String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
数据库 17            Regex objNumberPattern = new Regex("("   strValidRealPattern   ")|("   strValidIntegerPattern   ")");
数据库 18
数据库 19            return !objNotNumberPattern.IsMatch(strNumber) &&
数据库 20            !objTwoDotPattern.IsMatch(strNumber) &&
数据库 21            !objTwoMinusPattern.IsMatch(strNumber) &&
数据库 22            objNumberPattern.IsMatch(strNumber);
数据库 23        }
数据库 24
数据库 25数据库 26        /**//// <summary>
数据库 27        /// 正则表达式推断是或不是为日期
数据库 28        /// 验证格式:
数据库 29        /// YYYY-MM
数据库 30        /// YYYY-MM(M)-DD(M)
数据库 31        /// YYYYMMDD       
数据库 32        /// </summary>
数据库 33        /// <param name="date"></param>
数据库 34        /// <returns></returns>
数据库 35        public static bool IsDate(string date)
数据库 36数据库 37        数据库 38{
数据库 39            //(([0-9]数据库,{4}-)([0-9]{1,2}-)[0-9]{1,2})
数据库 40            Regex ymPattern = new Regex(@"^d{4}-?(?:0[1-9]|1[0-2])$");
数据库 41            Regex yyyyMMdd = new Regex(@"^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"); //日期部分
数据库 42            
数据库 43            return !ymPattern.IsMatch(date) &&
数据库 44                yyyyMMdd.IsMatch(date);
数据库 45        }
数据库 46
数据库 47数据库 48        /**//// <summary>
数据库 49        /// 正则表明式推断是还是不是为日期
数据库 50        /// 验证格式:     
数据库 51        /// YYYY-MM(M)-DD(M) HH:MM
数据库 52        /// YYYYMMDD HH:MM
数据库 53        /// </summary>
数据库 54        /// <param name="date"></param>
数据库 55        /// <returns></returns>
数据库 56        public static bool IsDateTime(string date)
数据库 57数据库 58        数据库 59{
数据库 60            string regex = @"^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"; //日期部分
数据库 61            regex  = @"(s(((0?[0-9])|([1-2][0-3])):([0-5]?[0-9])((s)|(:([0-5]?[0-9])))))?$"; //时间部分
数据库 62            System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
数据库 63            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
数据库 64
数据库 65            return reg.IsMatch(date);
数据库 66        }
数据库 67
数据库 68        public static bool IsEmail(string mail)
数据库 69数据库 70        数据库 71{
数据库 72            Regex reg = new Regex(@"^([a-zA-Z0-9_-.] )@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-] .) ))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$");
数据库 73
数据库 74            return reg.IsMatch(mail);
数据库 75        }
数据库 76
数据库 77数据库 78        /**//// <summary>
数据库 79        /// 正则表明式是或不是为网站,验证格式:
数据库 80        /// wwww.xxx.xxx
数据库 81        /// xxx.xxx.xxx
数据库 82        /// 
数据库 83        /// 
数据库 84        /// </summary>
数据库 85        /// <param name="uri"></param>
数据库 86        /// <returns></returns>
数据库 87        public static bool IsUri(string uri)
数据库 88数据库 89        数据库 90{
数据库 91            Regex reg = new Regex(@"^(((ht|f)tp(s?))://)?((([a-zA-Z0-9_-]{2,}.) [a-zA-Z]{2,})|((?:(?:25[0-5]|2[0-4]d|[01]dd|d?d)(?(.?d).)){4}))(:[a-zA-Z0-9] )?(/[a-zA-Z0-9-._?,'/\ &%$#=~]*)?$");
数据库 92            return reg.IsMatch(uri);
数据库 93        }

if (!flags)


 二、总结时间

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

 在后台.cs文件中运用正则表明式验证时间日期格式,还索要别的格式只必要换正则表明式就可以。

本文由ca88发布,转载请注明来源

关键词: ca88网址 yzc666亚洲城