C#中使用LINQ表达式

Author:Ivan

正则表达式

定位元字符:

字符 说明
^ 匹配开头
$ 匹配结尾

静态判断方法:

using System.Text.RegularExpressions;

string s = "I am blue cat.";
string res = Regex.Replace(s, "^","开始:");	// 会替换所有符合正则表达式		^匹配开头
Console.WriteLine(res);							// 开始:I am blue cat.

res = Regex.Replace(s, "$","结束:");			//$匹配结尾
Console.WriteLine(res);					//I am blue cat.结束

基本语法元字符:

字符 说明
. 匹配除换行意外的任意字符
\w 匹配字母、数字、下划线、汉字 (指大小写字母、0-9数字、下划线_)
\W \w的补集 (除大小写字母、0-9数字、下划线_以外)
\s 匹配任意空白字符 (包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f)
\S \s的补集 (除了\s定义的字符外)
\d 匹配数字 0-9
\D \d的补集 (除0-9数字以外)

反义字符

字符 说明
[abc] 匹配括号中的字符
[a-c] 字符a-c之间的字符
[^x] 除了x以外的字符
[^adwz] 除了adwz以外的字符

重复描述字符

字符 说明
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多于n次
{n,m} 匹配前面的字符n到m次
? 重复0或1次
+ 重复1或更多次
* 重复0或更多次

择一匹配符

字符 说明
| 将两个条件进行逻辑“或”运算

IsMatch 只要一个子串匹配成功 就会返回true 所以当需要验证、匹配的是整个字符串的时候需要加上定位元字符^$

string s = Console.ReadLine();
if (Regex.IsMatch(s, @"^\d*$")) 
{
	Console.WriteLine("验证成功");
}
else
{
	Console.WriteLine("验证失败");
}
表达式 含义
^\d*$ 全部都为数字
[^ahou] 代表一个字符,除了a、h、o、u外任意一个字符(一个一个匹配)
^[0-8]{5,12}$ 匹配整个字符串,只能为0~8的数字且5~12位
(ab\w{2}){2} ab开头接2个数字、汉字、字母、下划线,共四个,重复两次
^(((2[0-4]\d | 25[0-5] | [01]?\d\d?).){3}(2[0-4]\d | 25[0-5] | [01]?\d\d?))$ ip地址

你可能感兴趣的:(后端,C#,正则表达式,c#,字符串)