美文网首页
正则表达式

正则表达式

作者: ___________6a1d | 来源:发表于2018-09-22 20:06 被阅读0次

正则表达式

英文:Regular Expression

含义:一种专门用于字符串处理的语言,通过数学算法来解决计算程序中的文本检索,匹配问题。

解决问题:

1.检索:通过正则表达式,从字符串中获取我们想要的部分

2.匹配:判断给定的字符串是否符合正则表达式的过滤逻辑

简单理解:一个书写规则,(例如判断用户的密码,邮箱是否合法)

正则表达式的组成

由普通字符以及特殊字符(元字符)组成。描述在查找文字主体时待匹配的一个或多个字符串
用小括号指定子表达式,也叫分组

定位元字符

正则表达式字符串前通常加@,这样不让编译器去解析其中的转义字符,而作为正则表达式的语法存在。


image.png

基本语法元字符

image.png

反义字符

image.png

重复描述字符

image.png

正则表达式的一些语法

方法Match(input:输入的字符串 pattern:检验的正则表达式,options:正则参数的配置(一般忽略大小写,多行在里面选择,多个参数时用"|"追加),matchTimeout:匹配超时间隔,一般不写),返回一个匹配项。Matches方法参数相同,返回多个匹配项。IsMatch方法参数相同,判断是否符合正则表达式,返回true或false。

Regex.Match(string input,string pattern);
Regex.Match(string input,string pattern,RegexOptions options);
Regex.Match(string input,string pattern,RegexOptions options,TimeSpan matchTimeout);
Regex.Matches(string input,string pattern);
Regex.Matches(string input,string pattern,RegexOptions options);
Regex.Matches(string input,string pattern,RegexOptions options,TimeSpan matchTimeout);

Replace替换函数的简单用法(源字符串,匹配的正则,替换成的字符串)

string a = "Hello World";  
string result = Regex.Replace(a, "^", "开始:");  //正则表达式匹配到字符串的开始位置并替换
//result的show:开始:Hello World

 string a = "Hello World";
 string result = Regex.Replace(a, "$", "结束");//正则表达式匹配到字符串的末尾位置并替换
//result的show:Hello World结束

Split拆分函数的简单用法(源字符串,拆分的正则,(配置参数),(超时间隔)),返回字符串数组

string str="zhangsan;lisi,wangwu.";
string pattern=@"[;,.]";
string []ar=Regex.Split(s,pattern);

示例一:检测字符串全都是数字

string pattern = @"^\d*$";
Regex.IsMatch("124124", pattern);//返回true
Regex.IsMatch("12412fds4", pattern);//返回false

示例二:检测字符串是否只有数字,大小写字母,下划线

string pattern = @"^\w*$";
Regex.IsMatch("12fsd4124", pattern);//返回true
Regex.IsMatch("12fsd4~124", pattern);//返回false

示例三:检测字符串是否包含abc中的任意一个

string pattern = @"[abc]";
Regex.IsMatch("fer", pattern);   //返回false
Regex.IsMatch("fadsfabc", pattern);  //返回true

示例四:替换除abc以外的任意字符为*

string pattern = @"[^abc]";
Regex.Replace("I am AC", pattern, "*");   //返回字符串"**a****"

示例五:检测5-8位的数字

string pattern = @"^\d{5,8}$";
Regex.IsMatch("324325343",pattern); //返回true

示例六:查找数字或字母

string pattern = @"^\d|[a-z]";
MatchCollection a = Regex.Matches("34((fjsdga%$%#$鲁道夫就是离开", pattern);
foreach (var item in a)
{
    Console.WriteLine(item);
}
image.png

示例七:重复多个字符

string strGroup=@"(ab\w{2}){2}"  //等价于 ab\w{2}ab\w{2}
string temp = Regex.Replace("fjsdfabfsf", strGroup,"*");//只有一组ab\w,所以不替换 
string temp = Regex.Replace("fjsdfabfsabsf", strGroup,"*"); //替换为fjsdf*

示例八:正则表达式校验ipv4

string pattern=@"^(((2[0-4]\d|25[0-5]|[01]?\d\d?.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))$";

其他语法:https://blog.csdn.net/u010332284/article/details/78180298

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/bcvxoftx.html