C# 正则表达式基础

2016-12-19  本文已影响0人  Unity学习的路上

 正则表达式

 Regex类

 元字符

 正则表达式通常用来检查,检索,替换符合某个格式的文本

 元字符:

 正则表达式语言由两种基本字符组成

 原义(正常)文本字符和元字符

 元字符使用正则表达式具有处理能力.

^ 表示开头

 $ 表示结尾

 * 匹配0次或者多次

 ? 0 or 1

 + 1 or more

 \w 表示字母数字下划线,汉字任意字符

 \d 表示数字

 \D 表示非数字

 \s表示字符串

 \S表示非空白字符

 [\s\S] 表示任意字符

 [\s\S]* 表示0到任意字符

 [\s\S]*? 0个字符,匹配任意个字符前的次数

 [a-A] 表示在某个范围内的字符,与指定区间内任何字符进行皮诶

 \u4e00-\u9fa5 表示中文

 | 或

 () 分组

 {n,m} 表示最少n最高m

 {n,} 最少匹配n次

 {n}  匹配前面的字符最少n次

 [^X] 表示除了X除外任意字符

//演示在开头处拼接

string str = "大家好";

string newstr = Regex.Replace (str, "^", "首长:");

Console.WriteLine (newstr);

//演示在尾部处拼接

string newstr1 = Regex.Replace (str, "$", "啊");

Console.WriteLine (newstr1);

以数字开头中间有N个数字,以中文结尾.

string str1 = "124543好";

string newstr2 = @"^\d*[\u4e00-\u9fa5]$";

if (Regex.IsMatch (str1, newstr2)) {

Console.WriteLine ("匹配成功");

}

//匹配邮箱

string strl = "zhaoningyu@lanou3g.com";

string newstr3 = @"^\w+@\w+\.\w+$";

if (Regex.IsMatch (strl, newstr3)) {

Console.WriteLine ("匹配成功");

}

//检索特殊字符

string a = "#$4 16525";

string a1 = @"[^\s\w]+";

MatchCollection mc = Regex.Matches (a, a1);

Console.WriteLine (mc.Count);

foreach (Match item in mc) {

Console.WriteLine (item);

}

以上是正则表达式的一些基础用法.

上一篇下一篇

猜你喜欢

热点阅读