正则表达式基础语法大全

2023-11-15

正则表达式基础语法

1.普通字符:
字母、数字、汉子、下划线、以及没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。

2.简单的转义字符:

3.标准字符集合: 
- 能够与'多种字符' 匹配的表达式
- 注意区分大小写,大写是相反的意思

4.自定义字符集合:
-[  ]方括号匹配方式,能够匹配方括号中任意一个字符

例如:[2-8a-n] 匹配2至8的数和a至n的数
注意:
-正则表达式的特殊符号,被包含到中括号中,则失去特殊意义,除了^,-之外
-标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合。
  比如:[\d.\-+]将匹配:数字(\d)、小数点(.)、+(\+)、-(\-)

5.量词:
- 修饰匹配次数的特殊符号

例:\d{6} 匹配6个数字的
\d{0,1} 匹配0个数字或者1个数字
注意:
- 匹配次数中的贪婪模式(匹配字符越多越好,默认!)
- 匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后再加上一个"?"号)
例:
\d{3,6} 匹配3-6个数字的(默认:贪婪式)
\d{3,6}? 匹配3-6个数字(非贪婪模式)

6.字符边界
- 标记匹配的不是字符而是位置,符合某种条件的位置

注:\b匹配这样一个位置:前面的字符和后面的字符不全是\w

7.选择符和分组(常常与8联用)

8.反向引用(\nnn)
-  每一对()会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号。
-  通过反向引用,可以对分组已捕获的字符串进行引用。
注意:根据左括号为准编号!
例:goto gogo toto dodo todo 只想匹配gogo toto dodo---->([a-z]{2})\1  : 匹配(a-z){2}后再匹配1次

9.预搜索

例:[a-z]+(?=ing) 表示:匹配字母开头,ing结尾的字符(不包括ing)

 

练习:

1.匹配电话号码:010-8889999--->0\d{2,3}-\d{7,9}
表示:匹配开头为0,然后2至3位数字,再然后有个"-",最后7至9位数字。
2.邮箱验证:sdfsd@qq.com.cn--->[\w\-]+@[a-z0-9A-Z]+(\.[A-Za-z]{2,3}){1,2}
表示:匹配多个以字母等(省略....)开头,@,后面接小写或大写或数字,再匹配以 "."+2至3个以小写或大写的 并且重复匹配1或2次。
常用的匹配列表(不唯一)

 

了解:正则表达式的匹配模式
(1)IGNORECASE 忽略大小写模式
     -匹配时忽略大小写。
     -默认情况下,正则表达式是要区分大小写的。
(2)SINGLELTNE 单行模式
     -整个文本看作一个字符串,只有一个开头,一个结尾。
     -使小数点"."可以匹配包含换行符(\n)在内的任意字符。
(3)MULTILINE 多行模式
     -每行都是一个字符串,都有开头和结尾。
     -在指定了MULTILINE之后,如果需要仅匹配字符串开始和结束位置,可以只用\A和\Z。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式基础语法大全 的相关文章

  • 10个好用又有趣的工具类网站,赶快收藏吧

    YwTools 工具集合 www ywcoding com YwTools是一个提供许多有趣小工具的网站 这些工具能够为用户提供方便 快捷的支持 它提供许多实用性工具 比如生产力工具 免注册流程图 文本对比去重 编程类工具比如文本解码编码
  • 三款记事本替代工具 哪个最好用?

    三款记事本替代工具 哪个最好用 http www sina com cn 2008年08月27日 08 35 IT168 com Windows操作系统中自带了不少的实用小程序 但是它们大都功能简陋 有时无法满足我们的使用 此外还有一些Wi
  • java用正则表达式脱敏手机号

    一种正则形式 在Java开发中有时候需要对敏感字段数据脱敏 废话不多说 直接上代码 脱敏手机号 param str return 脱敏后字符串 public static String maskPhone String str return
  • Android 正则表达式- 只保留字母数字

    正则表达式是对字符串操作的一种逻辑公式 就是用事先定义好的一些特定字符 及这些特定字符的组合 组成一个 规则字符串 这个 规则字符串 用来表达对字符串的一种过滤逻辑 1 匹配字母 大写 小写 和数字的字符 正则表达式 a zA Z0 9 2
  • JAVA 正则表达式 (超详细) .

    在Sun的Java JDK 1 40版本中 Java自带了支持正则表达式的包 本文就抛砖引玉地介绍了如何使用java util regex包 可粗略估计一下 除了偶尔用Linux的外 其他Linu x用户都会遇到正则表达式 正则表达式是个极
  • 常用数字电路模块之三:计数器与分频器(二))

    三 分频电路 1 简单的计数器 计数器实质是对输入的驱动时钟进行计数 所以计数器在某种意义上讲 等同于对时钟进行分频 例如一个最大计数长度为N 2 n 从0计数到N 1 的计数器 也就是寄存器位数位n 那么寄存器最高位的输出为N 2 n分频
  • 前端开发中常用的校验处理

    前端开发中常用的校验处理 1 手机号码校验 2 身份证正则校验 3 必须输入中文 必须输入英文 4 其它正则校验 1 手机号码校验 function checkPhone var phone document getElementById
  • 【JAVA】正则表达式是啥?

    个人主页 个人主页 系列专栏 初识JAVA 文章目录 前言 正则表达式 正则表达式语法 正则表达式的特点 捕获组 实例 前言 如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑 称作 匹配 可以通过正则表达式 从字符串中获取我们想要的
  • 人人都看得懂的正则表达式教程

    编写验证规则最流行和最简单的方法就是正则表达式了 但唯一的一个问题是正则表达式的语法太隐晦了 让人蛋疼无比 很多开发者为了在项目中应用复杂的验证 经常要使用一些小抄来记住正则式的复杂语法和各种常用命令 在这篇文章中 我将试图让大家明白什么是
  • Java使用 java.util.regex.Pattern 正则表达式校验参数值是否规范

    场景 java中我们可以利用 Pattern 注解对某个入参进行规则校验 但有些特殊参数在接口入口处不方便校验 需要在代码中校验 一 使用 Pattern 注解校验 Pattern regexp a zA Z0 9 message xxx号
  • 知道这20个正则表达式,能让你少写1,000行代码

    正则表达式 一个十分古老而又强大的文本处理工具 仅仅用一段非常简短的表达式语句 便能够快速实现一个非常复杂的业务逻辑 熟练地掌握正则表达式的话 能够使你的开发效率得到极大的提升 正则表达式经常被用于字段或任意字符串的校验 如下面这段校验基本
  • js正则表达式

    w3school 正则表达式 一 正则表达式的使用 首先 我们一般使用正则表达式用来进行验证邮箱手机号等 进行匹配 1 编写一个正则表达式 var rule 我是一个正则表达式 2 使用正则表达式来进行验证 var isrule rule
  • 正则表达式工具类

    在实际开发中总会使用到正则表达式匹配数据 我也是在后面查看了一些资料 下面写一个常用的正则表达式匹配集合 正则匹配模式 表示匹配字符串的开始位置 例外 用在中括号中 时 可以理解为取反 表示不匹配括号中字符串 表示匹配字符串的结束位置 表示
  • js正则表达式多行匹配

    在js匹配网页内容时 往往需要匹配一段代码比如 div div 中间可能有很多行 这个时候一般 的匹配规则是匹配不出来的 如下介绍一个折中的方法 var content 这里是内容 var re p class s S p gt g var
  • regex_replace()函数的应用与解析

    include
  • java OpenOffice把word转html(Convert word to html )

    1 下载安装OpenOffice 网址http download openoffice org index html 2 下载第三方工具包JODConverter http www artofsolving com opensource j
  • [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)

    这是作者的系列网络安全自学教程 主要是关于网安工具和实践操作的在线笔记 特分享出来与博友共勉 希望您们喜欢 一起进步 前文分享了Wireshark抓包原理知识 并结合NetworkMiner工具抓取了图像资源和用户名密码 本文将讲解Pyth
  • SourceInsight

    1 开胃菜 初级应用 1 1 选择美丽的界面享受工作 虽然不能以貌取人 但似乎从来没有人责备以貌取软件的 SI的华丽界面 绝对符合现代花花世界的人的审美趣味 在SI中 我们可以轻松地把各种类型关键字 变量 标志符 函数 宏 注释等定义为不同
  • Python 正则表达式指南

    文章目录 1 正则表达式基础 1 1 简单介绍 1 2 数量词的贪婪模式与非贪婪模式 1 3 反斜杠的困扰 1 4 匹配模式 2 re模块 2 1 开始使用re 2 2 Match 2 3 Pattern 1 正则表达式基础 1 1 简单介
  • grep的用法

    命令介绍 Linux系统中grep命令是一种强大的文本搜索工具 它能使用正则表达式搜索文本 并把匹配的行打印出来 匹配到的标红grep全称是Global Regular Expression Print 表示全局正则表达式版本 它的使用权限

随机推荐

  • UE 材质学习

    值材质三原素 材质 材料 肌理 纹络 or 纹理 图案 Material Texture Pattern UE5中对应材质的 三原素 的内容 材质 Metallic 金属感 Roughness 粗糙度 Specular 高光 镜面 肌理 N
  • Oulipo 【HDU - 1686】【哈希

    题目链接 求模式串在待匹配串的出现次数 Input 第一行是一个数字T 表明测试数据组数 之后每组数据都有两行 第一行为模式串 长度不大于10000 第二行为待匹配串 长度不大于1000000 所有字符串只由大写字母组成 Output 每组
  • 202326读书笔记

    202326读书笔记 读给孩子的时令古词 冰肌绰约月朦胧 仿佛暗香浮动 竹杖芒鞋轻胜马 谁怕 一蓑烟雨任平生 料峭春风吹酒醒 微冷 山头斜照却相迎 春 雨水 惊蛰 春分 清明 谷雨 夏 小满 芒种 小暑 大暑 秋 处暑 白露 寒露 霜降 冬
  • JVM调优实战--容器内应用内存溢出被杀死

    威哥评 这篇文章是我的小伙伴hwang根据他在production环境遇到的实际问题整理的 简单来说就是让JVM听你的话 说内存多大就多大 说实话 hwang这篇文章给我了一个小小的惊喜 他的文笔真是不错 很生动的技术文章 所谓的容器应用内
  • yolov5训练前文件准备(训练自己的数据集)

    本文为 365天深度学习训练营 中的学习记录博客 原作者 K同学啊 接辅导 项目定制 一 准备数据 主目录 paper data 自己创建一个文件夹 将数据放到这里 Annotations 放置我们的 xml文件 images 放置图片文件
  • ES学习——介绍

    前言 在了解Elasticsearch之前 我们应该先了解下 什么是搜索引擎 目前有哪些主流的搜索引擎 搜索引擎搜索的质量应该如何评价 简介 什么是ES es全称为Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎 它可
  • FreeFileSync - 最佳免费开源文件夹同步备份软件 (FTP/局域网/移动硬盘)

    如果你的工作生活中经常需要用到电脑 并且经历过设备损坏或丢失 那么一定明白定时给文件备份的重要性 毕竟硬盘里装载的都是长期以来的心血和回忆 然而 手动备份文件的话 常常自己都会忘记哪些有没已经拷贝过 而部分文件被更新修改过后 自己又忘记去备
  • 计算1~100的数之和

    for循环实现1 100的和 sum1 0 for i in range 1 101 sum1 sum1 i i 1 print f 1 100之间的和是 sum1 while实现1 100的和 sum1 0 i 1 while True
  • leetcode 19. 删除链表的倒数第 N 个结点(c++)

    思路分析 常规解法 双指针与栈 两种解法 题解1 Definition for singly linked list struct ListNode int val ListNode next ListNode val 0 next nul
  • e系列刀片服务器,华为E系列刀片服务器选型导购指南

    IT168 导购 华为推出的E系列刀片服务器 包含两大系列 E6000和E9000 E系列刀片服务器 是功能强大 应用灵活 性能优异的综合服务器平台 集计算 交换 存储 IO和管理于一体 具有高能效 高可靠性 易扩展 虚拟优化等特点 一 E
  • centos简单应用

    1 创建虚拟机 选择软件VMware 可以直接baidu搜索下载 Centos isos 7 6下载 baidu搜索下载 1 1 安装VMware创建虚拟机 1 2 向导模式选择 自定义 1 3 安装客户端操作系统选择 稍后安装 1 4 选
  • C#安装OpenCv及打开笔记本默认摄像头方法

    我使用的是Visual Studio 2017 使用其他版本可能会不一致 由于我本人也是初学C 所以有错误的地方请在评论区指出或私信我 万分感谢 C 调用摄像头的方法有很多 其中主要的有3种 1 调用USB摄像头 2 调用普通IP摄像头 3
  • 电子秤专用模拟数字(AD)转换器芯片HX711介绍

    HX711简介 HX711是一款专为高精度电子秤而设计的24 位A D 转换器芯片 与同类型其它芯片相比 该芯片集成了包括稳压电源 片内时钟振荡器等其它同类型芯片所需要的外围电路 具有集成度高 响应速度快 抗干扰性强等优点 降低了电子秤的整
  • 如何获取嵌入式设备的内核版本信息

    1 有源码时 VERSION 2 PATCHLEVEL 6 SUBLEVEL 35 EXTRAVERSION 7 NAME Yokohama 如果你有内核的源码 可以在内核顶层的Makefile中找到版本号 上面的代码就是从内核的顶层Mak
  • 33岁腾讯员工从22楼跳下:成年人的崩溃,都是默不作声的......

    又一位创业者自杀了 周四凌晨2点 一则噩耗在创投圈蔓延开来 引发众多创业者悼念 一位被称为阿甘的创业者在8月7日晚 跳楼身亡 据说甘来原是腾讯员工 后离职创业 他刚刚结婚不久 老婆已有身孕 他的笑容灿烂 创业的艰难与焦虑并没有留在他的脸上
  • Linux僵尸进程处置

    导读 一般情况下 程序调用exit 包括 exit和 Exit 它们的区别这里不做解释 它的绝大多数内存和相关的资源已经被内核释放掉 但是在进程表中这个进程项 entry 还保留着 进程ID 退出状态 占用的资源等等 一 什么是僵死进程 一
  • 【算法】斐波那契(Fibonacci )数列第N项

    一 int fib2 int n if n 0 return 0 if n 1 return 1 return fib2 n 1 fib2 n 2 二 int fib int n int result 2 0 1 if n lt 2 ret
  • 【Bootstrap】常用组件(框架)

    Bootstrap常用组件 目录 1 网格系统 Grid System 网格系统的工作原理 不同设备的尺寸定义与其对应类名 基本的网格结构 偏移列 2 Bootstrap 表格 3 容器container类 4 Bootstrap 按钮 5
  • Burp Suite配置代理

    1 打开burp工具后按照下图的步骤 2 点开Add后如下弹窗 输入端口号和地址后点击ok即可
  • 正则表达式基础语法大全

    正则表达式基础语法 1 普通字符 字母 数字 汉子 下划线 以及没有特殊定义的标点符号 都是 普通字符 表达式中的普通字符 在匹配一个字符串的时候 匹配与之相同的一个字符 2 简单的转义字符 3 标准字符集合 能够与 多种字符 匹配的表达式