正则表达式,通俗易懂的介绍


 

推荐正则表达式在线工具

正则表达式在线测试 - 站长工具 (chinaz.com)

到底什么是正则表达式?

正则表达式(英语:Regular Expression,拉代码中常简写为regex、regexp或RE),又叫 正规表示式正规表示法正规表达式规则表达式、常规表示法,是计算机科学个一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则个字符串。拉交关多文本编辑器里,正则表达式通常被用来检索、替换某些匹配某个模式个文本。

在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

常用元字符
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束
常用限定符
代码/语法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
常用反义词
代码/语法说明
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符

 

 

 

 

 

 

 

 

 

正则表达式示例

正则表达式:数字 2位小数点 必须大于0

\d+(\.\d{0,2})?

正则表达式:数字 2位小数点 支持负数

-?\d+(\.\d{0,2})?

正则表达式:字符串中匹配尺寸 .64x64  .数字x数字 这种规则

\.\d+[Xx]\d+  

说明

\.

\d+

[Xx]

\d+

匹配字符 .

一位或多位数字

字符X或小写字符x

一位或多位数字

正则表达式:匹配汉字

^[\u4e00-\u9fa5]{0,}$

正则表达式匹配空行

\n(\n)*( )*(\n)*\n

正则表达式:匹配Email地址

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

正则表达式:匹配手机号码

^((13[0-9])|(14[5-9])|(15([0-3]|[5-9]))|(16[6-7])|(17[1-8])|(18[0-9])|(19[1|3])|(19[5|6])|(19[8|9]))\d{8}$

三大运营商最新号段 合作版 2021-03,如果有更新未兼容,请联系站长更新,谢谢 !!!

 

* 移动号段:

* 134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 184 187 188 195 198

 

* 联通号段:

* 130 131 132 145 146 155 156 166 167 171 175 176 185 186 196

 

* 电信号段:

* 133 149 153 173 174 177 180 181 189 191 193 199

 

* 虚拟运营商:

* 162 165 167 170 171

 

* 13开头排序:(0-9)(134 135 136 137 138 139 130 131 132 133)

* 14开头排序:(5-9)(147 148 145 146 149)

* 15开头排序:(0-3|5-9)(150 151 152 157 158 159 155 156 153)

* 16开头排序:(6-7)(166 167)

* 17开头排序:(1-8)(172 178 171 175 176 173 174 177)

* 18开头排序:(0-9)(182 183 184 187 188 185 186 180 181 189)

* 19开头排序:(1|3|5|6|8|9)(195 198 196 191 193 199)

正则表达式:匹配电话号码 ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)

^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$

正则表达式:匹配国内电话号码 (0511-4405222、021-87888822)

\d{3}-\d{8}|\d{4}-\d{7}

正则表达式:匹配身份证号(15位,18位 数字)

^\d{15}|\d{18}$

正则表达式:匹配日期格式(2020-01-01)

^\d{4}-\d{1,2}-\d{1,2}

正则表达式:匹配日期格式(2020.01.01)

\d{4}\.\d{1,2}\.\d{1,2}

正则表达式:匹配日期的月份,一年12个月 月份(01-09和1-12)

^(0?[1-9]|1[0-2])$

正则表达式:匹配日期的天,一个月的31天(01-09和1-31)

^((0?[1-9])|((1|2)[0-9])|30|31)$

正则表达式:匹配文件名是否是XML文件

^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$

正则表达式:匹配HTMl标记

<(\S*?)[^>]*>.*?</\1>|<.*? />

(网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)

正则表达式:匹配IP地址

\d+\.\d+\.\d+\.\d+
((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

C# 利用正则表达式替换文本字符串

引用命名空间:System.Text.RegularExpressions

string url ="O1CN01uUrvzQ1FLIp9kbfEF_!!999060470-0-cib.64x64.jpg";
Regex myRegex = new Regex(@"\.\d+[Xx]\d+", RegexOptions.IgnoreCase);
url = myRegex.Replace(url, "");
GarsonZhang www.yesdotnet.com

 

C# 利用正则表达式查找所有匹配的文本字符串

Regex regex = new Regex(@"\d{4}\.\d{1,2}\.\d{1,2}");
var ms = regex.Matches(node.InnerText);
if (ms.Count > 0) {
    data.Date1 = ms[0].Value;
}
if (ms.Count > 1) {
    data.Date2 = ms[1].Value;
}
GarsonZhang www.yesdotnet.com

 

JS正则表达式匹配数据

JavaScript 全选
var str = "万达:127.0.0.1\n时代丽阳:192.168.0.125"
var reg = /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/g
var tmp = str.match(reg)
//  ['127.0.0.1', '192.168.0.125']
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:解决 Navicat 隔一段时间就需要重新连接数据库的问题
下一篇:未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。
评论列表

发表评论

评论内容
昵称:
关联文章

表达式通俗易懂介绍
表达式
fastreport显示带[] 方括号文本或表达式
.Net Minimal API 介绍
YESWinform开发框架关于模块功能不同权限下布局介绍
Javascript对URL进行编码解码三种方式介绍
SQL Server中常用全局变量介绍
windows平台分布式微服务解决方案(6)--IUtility工具介绍
windows平台分布式微服务解决方案(7)--IDataAccess工具介绍(数据访问)
项目介绍
YES-CMS 内容管理系统介绍
ABP VNext框架基础知识介绍(1)--框架基础类继承关系
编译项目提示报错,提示:无法将文件 "**"复制到***,由另一进程使用,因此该进程无法访问此文件
化繁为简,用几个例子介绍JavaScript异步处理async awite
yesweb-libs/utils介绍
.NET中大型项目开发必备(6)--IUtility工具介绍
支付宝:联调排查工具使用介绍
javascript删除html字符串中空行
Python爬虫解析网页提取html信息常用方式
使用Hot Chocolate和.NET 6构建GraphQL应用(1)——GraphQL及示例项目介绍

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码