正则表达式的简单使用
发布时间:2020-12-14 06:42:54 所属栏目:百科 来源:网络整理
导读:@符号 我们经常在正则表达式字符串前面加上@字符,这样不让编译器去解析其中的转义字符,而作为正则表达式的语法(元字符)存在。 在正则表达式中,是转义字符. * 是元字符 如果要表示一个 . *字符的话,需要使用 . * using System; using System.Text.Re
@符号 在正则表达式中,是转义字符. * 是元字符 如果要表示一个 . *字符的话,需要使用 . * using System;
using System.Text.RegularExpressions;
namespace _003_正则表达式
{
class Program
{
static void Main(string[] args)
{
//==================定位元字符========================
string s = "blog.csdn.com";
//^ 匹配开始,,$匹配结束
string res1 = Regex.Replace(s,"^","www.");
string res2 = Regex.Replace(res1,"$","/Czhenya");
Console.WriteLine(res2); //输出:www.blog.com/Czhenya
//==================基本语法元字符=====================
//示例一:校验只允许输入数字
string str1 = Console.ReadLine();
//----------通常使用的方法---------
int count = 0;
for (int i = 0; i < str1.Length; i++)
{
if (str1[i] >='0' && str1[i]<='9')
{
count++;
}
else
{
break;
}
}
if (count == str1.Length)
{
Console.WriteLine("您输出的密码符合要求,,,");
}
else
{
Console.WriteLine("您输出的密码不符合要求");
}
//--------使用正则表达式-------------
string str2 = @"^d*$"; //正则表达式 表示数组字符串
bool isTrue = Regex.IsMatch(s,str2);
Console.WriteLine("输入密码是否符合要求:"+isTrue);
//示例二:校验只允许输入除大小写字母、0-9的数字、下划线_以外的任何字
string str3 = @"^W*$"; //表示上述的正则表达式 测试原理同上
//=====================反义字符====================
//示例:查找除Czhenya这之外的所有字符
string str4 = "blog.csdn.com/Czhenya";
string str5 = @"[^Czhenya]"; //代表除了Czhenya之外的所有字符
string str6 = Regex.Replace(str4,str5,"*");
Console.WriteLine(str6); //输出:********n*****Czhenya
//======================重复描述字符=================
//示例:校验输入内容是否为合法QQ号(备注:QQ号为5 - 12位数字)
string qq1 = "1021570284";
string qq2 = "1009461014123546";
string str7 = @"^d{5,12}$"; //误区:str7 = @"d{5,12}";
Console.WriteLine(Regex.IsMatch(qq1,str7)); //输出:Ture;
Console.WriteLine(Regex.IsMatch(qq2,str7)); //输出:False
//========================择一匹配======================
//示例:查找数字或字母
string str8 = "wqjida213暗示法尽快哈就dsa12";
string str9 = @"d|[a-z]";
MatchCollection cols = Regex.Matches(str8,str9);
for (int i = 0; i < cols.Count; i++)
{
Console.WriteLine(cols[i]);
}
// 输出:wqjida213dsa12
//示例:校验国内电话号码(支持三种写法校验 A. 010 - 87654321 B. (010)87654321 C.01087654321 D.010 87654321)
string str10 = @"(0d{2,3})[- ]?d{7,8}|^0d{2,3}[- ]?d{7,8}$";
//匹配IP地址的正则表达式 (0-255.0-255.0-255.0-255)
string str11 = @"^(((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?))$";
Console.ReadKey();
}
}
}
以上程序运行结果图:(输入是312123) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |