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
相关联。
一般要就在最加就可以了。
查看全文
相关阅读:
mybatis之@Select、@Insert、@Delete、@Param
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value:...
fasterxml.jackson 将对象转换为json报错处理
JPA之@Transient
JPA之@OneToMany、@ManyToOne、@JoinColumn
JPA之@Entity、@Table、@Column、@Id
@EnableAutoConfiguration和@SpringbootApplication注解
Spring JdbcTemplate详解
网页上播放音频、视频Mp3,Mp4
编码转换 Native / UTF-8 / Unicode
原文地址:https://www.cnblogs.com/tangself/p/2469280.html
最新文章
机器学习:多项式回归(scikit-learn中的多项式回归和 Pipeline)
机器学习:多项式回归(基础理解)
机器学习:PCA(人脸识别中的应用——特征脸)
机器学习:PCA(降噪)
机器学习:PCA(实例:MNIST数据集)
机器学习:PCA(高维数据映射为低维数据 封装&调用)
requireJS入门基础
JavaScript计时器
JavaScript基础语法
jQuery的选择器+实例
热门文章
jQuery知识体系目录
开启VS的JavaScript调试
JavaScript中的事件
Javascript的对象分类
JavaScript常用方法
JavaScript知识体系索引
如何给对话框中的控件发送消息呢?Windows消息分类
CTabCtrl
Spring Aop之@Before、@After、@Around、@AfterReturning
ES6新特性
Copyright © 2011-2022 走看看