zoukankan
html css js c++ java
C#使用正则表达式的类(原创)
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Text.RegularExpressions;
using
System.Collections;
namespace
zdHelper
...
{
static
public
class
zdRegexpHelper
...
{
/**/
///
<summary>
///
是否符合指定的正则表达式
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
public
bool
Validate(
string
str, RegexpType type)
...
{
Regex regex
=
new
Regex(regexStrs[(
int
)type].ToString());
Match match
=
regex.Match(str);
if
(match.Success)
return
true
;
else
return
false
;
}
/**/
///
是否符合指定的正则表达式
static
public
bool
Validate(
string
str,
string
regexStr)
...
{
Regex regex
=
new
Regex(regexStr);
Match match
=
regex.Match(str);
if
(match.Success)
return
true
;
else
return
false
;
}
/**/
///
<summary>
///
是否全部符合指定的正则表达式
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
public
bool
AllValidate(
string
str, RegexpType type)
...
{
Regex regex
=
new
Regex(
"
^
"
+
regexStrs[(
int
)type].ToString()
+
"
$
"
);
Match match
=
regex.Match(str);
if
(match.Success)
return
true
;
else
return
false
;
}
/**/
///
<summary>
///
是否全部符合指定的正则表达式
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
public
bool
AllValidate(
string
str,
string
regexStr)
...
{
Regex regex
=
new
Regex(regexStr);
Match match
=
regex.Match(str);
if
(match.Success)
return
true
;
else
return
false
;
}
/**/
///
<summary>
///
返回符合的部分
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
public
ArrayList GetValidatedStr(
string
str, RegexpType type)
...
{
ArrayList array
=
new
ArrayList();
Regex regex
=
new
Regex(regexStrs[(
int
)type].ToString());
Match match
=
regex.Match(str);
while
(match.Success)
...
{
array.Add(match.Value.ToString());
match
=
match.NextMatch();
}
return
array;
}
/**/
///
<summary>
///
返回符合的部分
///
</summary>
///
<param name="str"></param>
///
<returns></returns>
static
public
ArrayList GetValidatedStr(
string
str,
string
regexStr)
...
{
ArrayList array
=
new
ArrayList();
Regex regex
=
new
Regex(regexStr.ToString());
Match match
=
regex.Match(str);
while
(match.Success)
...
{
array.Add(match.Value.ToString());
match
=
match.NextMatch();
}
return
array;
}
/**/
///
用replaceStr代替str中指定的正则表达式匹配的部分
static
public
string
ReplaceStrUseRegex(
string
str, RegexpType type,
string
replaceStr)
...
{
string
replacedStr
=
Regex.Replace(str, regexStrs[(
int
)type].ToString(), replaceStr);
return
replacedStr;
}
/**/
///
用replaceStr代替str中指定的正则表达式匹配的部分
static
public
string
ReplaceStrUseRegex(
string
str,
string
regexStr,
string
replaceStr)
...
{
string
replacedStr
=
Regex.Replace(str, regexStr.ToString(), replaceStr);
return
replacedStr;
}
static
string
[] regexStrs
=
new
string
[]
...
{
"[0-9]*”
,
"
/d{1,}
"
,
"
/+?[1-9][0-9]*
"
,
"
/-[1-9][0-9]*
"
,
"
[A-Za-z]+
"
,
"
[A-Za-z0-9]+
"
,
"
/w+
"
,
"
[a-zA-Z]/w{5,17}
"
,
"
[^%&',;=?$"]+
"
,
"
[//u4e00-//u9fa5]{1,}
"
,
"
/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
"
,
"
http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?
"
,
"
(/(/d{3,4}-)|/d{3.4}-)?/d{7,8}
"
,
"
[1-9]([0-9]{16}|[0-9]{13})[xX0-9]
"
}
;
}
/**/
///
默认的一些正则表达式类型
public
enum
RegexpType
...
{
onlyOneToNine,
//
仅从1到9
num,
//
数字
positiveInt,
//
正整数
minusInt,
//
副整数
letter,
//
字母
intOrLetter,
//
整数或字母
intOrLetterOrUnderline,
//
整数或字母或下划线
possword,
//
密码,整数或字母或下划线,字母开头,6到18位
especialSign,
//
特殊符号
Chinese,
//
汉字
Email,
//
不用说啦
InternetURL,
//
网址
phone,
//
也不用说啦
identityCard,
//
身份证
}
}
使用的方法是:
string
str
=
"
1238974
"
;
bool
a
=
zdRegexpHelper.Validate(str, RegexpType.num);
ArrayList b
=
zdRegexpHelper.GetValidatedStr(str, RegexpType.num);
//
或者
bool
a
=
zdRegexpHelper.Validate(str, “[
0
-
9
]
*
“);
ArrayList b
=
zdRegexpHelper.GetValidatedStr(str, “[
0
-
9
]
*
“);
要添加一些自己常用的正则表达式的话:
static
string
[] regexStrs
=
new
string
[]
...
{
"
[0-9]*
"
,
"
/d{1,}
"
,
"
/+?[1-9][0-9]*
"
,
"
/-[1-9][0-9]*
"
,
"
[A-Za-z]+
"
,
"
[A-Za-z0-9]+
"
,
"
/w+
"
,
"
[a-zA-Z]/w{5,17}
"
,
"
[^%&',;=?$"]+
"
,
"
[/u4e00-/u9fa5]{1,}
"
,
"
/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
"
,
"
http://([/w-]+/.)+[/w-]+(/[/w-./?%&=]*)?
"
,
"
(/(/d{3,4}-)|/d{3.4}-)?/d{7,8}
"
,
"
[1-9]([0-9]{16}|[0-9]{13})[xX0-9]
"
,str}
;
//
str是你需要的正则表达式
public
enum
RegexpType
...
{
onlyOneToNine,
num,
positiveInt,
minusInt,
letter,
intOrLetter,
intOrLetterOrUnderline,
possword,
especialSign,
Chinese,
Email,
InternetURL,
phone,
identityCard,
name,
//
是你给的名字
}
注意:
委托
RegexpType中的
onlyOneToNine 关联的是
regexStrs
[0];
name
是要和
regexStrs
相关联。
一般要就在最加就可以了。
查看全文
相关阅读:
转载:GPRS发短信代码
如何辨别假币
【转载】软件开发方向的大学生应该学什么
第一次喝吐了
挑战世界2%
45、c_str与data()
2、Get和post的区别
4、suse11安装apache
1、学习用c/c++写cgi程序
4、安装rz/sz
原文地址:https://www.cnblogs.com/tangself/p/2469280.html
最新文章
在windows下使用eclipes连接linux下的Hadoop集群
PortalBasic Java Web应用开发框架V3.0正式发布(源码、实例及文档)
分布式计算Hadoop简介
Hadoop的安装
如何养成良好的c++编程习惯(1)——内存管理
习题4.5:列出使用数组而不是vector的缺点
realloc使用详解
HDFS详解
Hadoop架构——云计算的具体实现
hadoop 1.x环境搭建
热门文章
[转]某高级程序员的几点建议
转载:玩转PDF
转载:创意广告牌大合集(35P)
青年人如何提高社交和谈吐水平
终于可以将MySQL连接起来了
在外企中混,话应该如何听(转的)
好东西大家一块分享
2004年Delphi Informant杂志读者选择奖
秘密
C语言关键字volatile
Copyright © 2011-2022 走看看