正则表达式基础语法大全

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(使用前将#替换为@)

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

  • java用正则表达式脱敏手机号

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

    1 简介 在C C 中 一个比较好的正则表达式是pcre 被很多工具 包括一些商用工具 使用 2 源码下载 安装 2 1 下载 可以从官网http www pcre org 下载 为方便学习 已放在这里http download csdn
  • 正则表达式基础语法大全

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

    个人主页 个人主页 系列专栏 初识JAVA 文章目录 前言 正则表达式 正则表达式语法 正则表达式的特点 捕获组 实例 前言 如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑 称作 匹配 可以通过正则表达式 从字符串中获取我们想要的
  • 【Python_requests学习笔记(一)】基于requests和re模块,爬取百度图片

    基于requests和re模块 爬取百度图片 前言 此篇文章中介绍requests的基本用法 和基于requests和re模块 爬取百度图片的案例 正文 1 requests模块 1 1 requests模块介绍 requests模块 类似
  • Python3 如何优雅地使用正则表达式(详解四)

    更多强大的功能 到目前为止 我们只是介绍了正则表达式的一部分功能 在这一篇中 我们会学习到一些新的元字符 然后再教大家如何使用组来获得被匹配的部分文本 更多元字符 还有一些元字符我们没有讲到 接下来小甲鱼一一为大家讲解 有些元字符它们不匹配
  • 截取oracle字符串中的数字(转载)

    截取oracle字符串中的数字 云淡风轻博客 博客园 cnblogs com 方法一 如果Oracle版本不是太低的话 使用 正则表达式函数 REGEXP SUBSTR 处理 REGEXP SUBSTR有5个参数 分别是 第一个是输入的字符
  • Struts2正则表达式校验

    原文地址 http woxiangbo iteye com blog 463397 下default xml文件 然后在xwork源代码中 需单独下载 找到相应的处理类 param即该类的属性 intege 1 9 d 整数 intege1
  • QT QStringList 用法

    QStringList类提供了一个字符串列表从QList
  • 正则表达式大全,一篇前后端都可用

    正是掌握了这些正则表达式 冰河平均每天比别人少写200行代码 极大的提高了研发效率 熟练的掌握正则表达式 能够帮助程序员以最快的速度写出最优雅的代码 冰河在多年的编程工作中 对使用过的正则表达式进行了梳理和总结 这些正则表达式能够帮助你节省
  • re模块----你也可以玩得很溜正则表达式

    目录 re模块 compile pattern flags 0 flag匹配模式 match pattern string flags 0 search pattern string flags 0 findall pattern stri
  • 【Linux命令—shell】正则表达式

    正则表达式 regular expression 描述一个字符集合的表达方式 模糊匹配 目录 1 基本正则 2 扩展正则 3 兼容的正则 perl 4 综合案例练习 1 基本正则 演示如下 2 扩展正则 注意 grep不支持扩展正则 如果需
  • js正则表达式

    w3school 正则表达式 一 正则表达式的使用 首先 我们一般使用正则表达式用来进行验证邮箱手机号等 进行匹配 1 编写一个正则表达式 var rule 我是一个正则表达式 2 使用正则表达式来进行验证 var isrule rule
  • 中文姓名、电话、邮箱的正则表达式

    1 中文姓名 如 张三 噶及 洛克业 a zA Z0 9 u4e00 u9fa5 1 10 2 电话验证 如 010 85369999 186199999 0 d 2 3 d 7 8 d 3 5 13 14 15 18 17 d 9 3 电
  • js正则表达式多行匹配

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

    上一篇文章介绍了正则的用处以及正则中这些元字符的基本含义 但是如果我们只知道那些元字符的含义 不知道怎么使用和加以练习 那么对于正则我们还只是看见了门槛 并没有踏入 那么本篇文章就让我们迈起脚步正式走入正则的世界吧 let s go 我的学
  • C#中Validating和Validated事件

    您可能经常需要检查用户输入到 Windows 窗体中的信息是否有效 例如 如果您有一个电话号码的 TextBox 控件 则可以检查该控件是否只包含适当的字符 数字 括号和连字符等等 通常 可使用正则表达式验证用户输入的数据 了解Valida
  • 天梯赛字符串替换题 “ 6翻了” Python 正则表达式替换

    输入格式 输入在一行中给出一句话 即一个非空字符串 由不超过 1000 个英文字母 数字和空格组成 以回车结束 输出格式 从左到右扫描输入的句子 如果句子中有超过 3 个连续的 6 则将这串连续的 6 替换成 9 但如果有超过 9 个连续的
  • [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)

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

    Python 模式匹配与正则表达式 1 模式匹配与正则表达式 你可能熟悉文本查找 即按下Ctrl F 输入你要查找的词 正则表达式 更进一步 它们让你指定要查找的 模式 你也许不知道一家公司的准确电话号码 但如果你住在美国或加拿大 你就知道

随机推荐

  • 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 标准字符集合 能够与 多种字符 匹配的表达式