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
相关联。
一般要就在最加就可以了。
查看全文
相关阅读:
hdoj 1010-Tempter of the Bone
leetcode 91. 解码方法
leetcode 925. 长按键入
leetcode 437. 路径总和 III
leetcode 892. 三维形体的表面积
二分查找
HBASE 安装
Linux 日常指令
Linux Centos7 配置代理
Linux ssh 免密
原文地址:https://www.cnblogs.com/tangself/p/2469280.html
最新文章
JAVA实现计算三角形等平面图形的夹角问题
C语言之非常简单的几道题
C语言查找算法之顺序查找、二分查找(折半查找)
C语言排序算法之简单交换法排序,直接选择排序,冒泡排序
某些编辑器运行C程序闪退的解决办法
Windows安装Ubuntu桌面操作系统到移动硬盘中以及错误解决
docker配置文件不生效
vps配置ipv6地址
ubuntu开机只有一条横杠在闪的解决办法
小米路由器无法访问共享盘
热门文章
maven常用命令
c++之Hello World
python之设置windows背景图片
python之下载每日必应壁纸
ubuntu终端代理之proxychains
Linux之scp命令
hdoj
leetcode 467. 环绕字符串中唯一的子字符串
leetcode 61. 旋转链表
hdoj -1312 Red and Black
Copyright © 2011-2022 走看看