正则表达式常用字符及案例

引言

正则表达式是一种强大而灵活的工具,它在文本搜索和处理中起到了至关重要的作用。熟练掌握正则表达式的常用字符和使用方法,将能帮助开发者更加高效地进行模式匹配和字符串操作。本文将介绍一些常见的正则表达式字符,并给出一些实际案例来进一步理解其应用。

1. 点号(.)

点号.用于匹配任意字符,除了换行符。它通常用于匹配不确定的字符。例如,将正则表达式a.b应用于字符串"acb"时,它可以匹配到"a"与"b"之间的任意字符。

2. 反斜杠(\)

反斜杠\用于转义特殊字符,使其失去特殊意义,变为普通字符。例如,正则表达式\$100可以匹配" 100 " 字符串,其中的 " 100"字符串,其中的" 100"字符串,其中的"“符号被反斜杠转义,表示匹配”$"字符本身。

3. 字符类([])

字符类[]用于指定一个字符集合,可以匹配其中的任意一个字符。例如,正则表达式[aeiou]可以匹配任意一个小写元音字母。

4. 脱字符(^)

脱字符^在字符类中使用时,表示匹配除了指定字符集合以外的任意一个字符。例如,正则表达式[^0-9]可以匹配任意一个非数字字符。

5. 量词(*、+、? 和 {})

量词用于指定前面的内容的重复次数。

  • *表示零次或多次匹配。
  • +表示一次或多次匹配。
  • ?表示零次或一次匹配。
  • {n}表示恰好匹配n次。
  • {n,}表示至少匹配n次。
  • {n,m}表示匹配n到m次。

例如,正则表达式a*b可以匹配"b"、“ab”、"aab"等。

6. 案例

下面是一些常见的正则表达式案例:

邮箱验证

正则表达式^\w+@\w+\.\w+$可以用来验证电子邮箱地址的格式是否正确。它要求邮箱由一个或多个单词字符、紧接着一个"@"符号、再紧接着一个或多个单词字符、然后是一个点号和一个或多个单词字符构成。

手机号提取

正则表达式(\+86)?1[3-9]\d{9}可以从文本中提取手机号码,包括带有国家代码的手机号。其中,(\+86)?表示国家代码可出现零次或一次,1[3-9]表示手机号的第一个数字是1,第二个数字是3至9之间的任意一位,\d{9}表示后面跟着的9个数字。

URL 替换

正则表达式(https?://\S+)可以用来匹配文本中的URL,并进行替换操作。其中,(https?://\S+)表示匹配以"http://"或"https://"开头的非空字符序列,即匹配URL。

结论

本文介绍了正则表达式的常用字符和一些实际应用案例。掌握这些常用字符和技巧,将有助于开发者更加高效地进行模式匹配和字符串操作。正则表达式在日常开发中被广泛使用,如数据校验、文本处理和信息提取等。希望本文对读者对正则表达式的掌握和应用能够起到一定的帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

watch避坑,使用computed进行处理数据

业务场景:在vue中监听el-input 中的字数有没有超过60,如果超过60字时将60后面的字变为 “>>” 符号,以此实现预览苹果手机推送摘要场景。 错误:开始的逻辑是使用watch监听,检查length超过60直接 加上符号&#x…

python 网络编程

TCP编程 客户端 创建TCP连接时,主动发起连接的叫做客户端,被动响应的叫做服务端。当定义一个Socket表示打开一个网络连接,创建一个Socket需要知道目标计算机的IP地址和端口号和对应的协议类型。 # 导入socket库: import socket# 创建一个s…

基于MSP432P401R爬坡小车【2020年电赛C题】

文章目录 一、任务清单1. 硬件部分2. 软件部分 二、OpenMV巡线三、舵机转向四、停止线识别五、技术交流 一、任务清单 1. 硬件部分 主控板: MSP432P401R数据显示: OLED电机: 霍尔编码器电机电池: 7.3V航模电池巡线: …

图像中不规则物体的长轴与短轴:OpenCV实现指南

1.首先,读取图像并将其转换为灰度图像。 2.进行图像预处理,包括使用高斯模糊和阈值化,以便更好地处理图像。 3.通过使用OpenCV的cv2.findContours()函数,找到图像中的所有轮廓。 4.遍历所有轮廓,如果轮廓点的数量大…

使用ajax进行前后端交互的方法

使用ajax进行前后端交互的方法:(我只测试通了json对象作为参数的方式,其他方式我没有测试通过) 1、前端方法: 传参方式:POST 请求类型:json对象 响应类型:json对象 function test() …

idea 里 controller service impl mapper xml 切换跳转快捷键

首先在controller层,对着接口点方法的方法上按着ctrl和鼠标左键,你会进入service层。 对着方法ctrlaltb不按鼠标,你会进入impl层。service层的方法上按ctrl和鼠标左键会回到controller,ctrlaltb不按鼠标也会进入到impl层,impl上的…

[Linux]线程基本知识

概念 进程 一个正在执行的程序,它是资源分配的最小单位 进程中的事情需要按照一定的顺序逐个进行 进程出现了很多弊端: 一是由于进程是资源拥有者,创建、撤消与切换存在较大的时空开销,因此需要引入轻型进程; 二是由于对称多…

localhost和127.0.0.1一样吗?

学习笔记,如有错误,感谢指出! 文章目录 1. 对比方式一1.1 表示方式:1.2 主机名解析:1.3 IPv6 支持:1.4 可读性和易用性:1.5 小总结 2. 对比方式二2.1 原理不同2.2 概念不同2.3 指向不同 1. 对比…

C++:类和对象(下)---对类和对象深入一些的理解

文章目录 构造函数?初始化列表explicit关键字 匿名对象 构造函数? 初始化列表 前面已然介绍过构造函数,但并未完全结束,构造函数有很多种写法,有带缺省参数的,有全缺省的,不带缺省参数的…但用…

未来的算法备案法规:创新和安全如何兼顾?

随着科技的快速发展,算法正逐步渗透到我们生活的各个方面,从推荐引擎到自动驾驶,从医疗诊断到金融交易,这一现象既充满希望,也充满了挑战。其中一个关键的挑战就是如何设计和实施有效的算法备案法规,以促进…

Linux下查找python路径

本地目前装了几个版本的python,这里记录下查找python路径的方法。 1:whereis命令 whereis python2:which命令 which python与whereis相似,但which会返回第一个找到的执行文件的位置。 3:find命令 find命令可以搜索系…

web流程自动化详解

今天给大家带来Selenium的相关解释操作 一、Selenium Selenium是一个用于自动化Web浏览器操作的开源工具和框架。它提供了一组API(应用程序接口),可以让开发人员使用多种编程语言(如Java、Python、C#等)编写测试脚本&…

题目:2206.将数组划分成相等数对

​​题目来源: leetcode题目,网址:2206. 将数组划分成相等数对 - 力扣(LeetCode) 解题思路: 先对数组进行排序,然后判断从第 2i 个 与 第 2i1 个元素是否全部相等即可(i0,1,2,3,4..…

需求分析案例:消息配置中心

本文介绍了一个很常见的消息推送需求,在系统需要短信、微信、邮件之类的消息推送时,边界如何划分和如何设计技术方案。 1、需求 一个系统,一般会区分多个业务模块,并拆分成不同的业务系统,例如一个商城的架构如下&am…

webpack基础配置

webpack基础 webpack 处理css兼容问题webpack 处理css闪屏问题webpack 优化压缩css代码总结webpack 两种开发模式webpack 基本的功能webpack配置 5概念devServer 生产环境webpack配置实例开发环境webpack配置实例webpack优化 webpack 处理css兼容问题 下载loader 引入 package…

day45-Netflix Mobile Navigation(左边侧边栏动态导航)

50 天学习 50 个项目 - HTMLCSS and JavaScript day45-Netflix Mobile Navigation&#xff08;左边侧边栏动态导航&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name&…

k8s集群安装v1.20.9

参考网上资料并将异常问题解决&#xff0c;经测试可正常安装集群。 1.我的环境准备 本人使用vmware pro 17新建三个centos7虚拟机&#xff0c;每个2cpu&#xff0c;20GB磁盘存储&#xff0c;内存2GB&#xff0c;其中主节点的内存3GB&#xff0c;可使用外网. 2.所有节点安装D…

33. 本地记事本

本地记事本 html部分 <button class"add"><i class"iconfont icon-jiahao"></i> </button>css部分 *{margin: 0;padding: 0; } body{background-color: #7bdaf3;display: flex;padding-top: 3rem;flex-wrap: wrap; } .add{pos…

每日一题——删除有序数组中的重复项

删除有序数组中的重复项 题目链接 注&#xff1a;本题所采用的方法是建立在移除元素的基础之上的&#xff0c;如果大家对双指针的方法不大了解&#xff0c;或者不会做《移除元素》这一题&#xff0c;建议先去看看&#x1f449;传送门 具体步骤 定义两个指针slow和fast&#…

【计算机网络】传输层协议 -- UDP协议

文章目录 1. 传输层相关知识1.1 端口号1.2 端口号范围划分1.3 知名端口号1.4 一些相关命令 2. UDP协议2.1 UDP协议格式2.2 UDP协议的特点2.3 什么是面向数据报2.4 UDP的缓冲区2.5 UDP使用注意事项2.6 基于UDP的应用层协议 1. 传输层相关知识 传输层是计算机网络中的一个重要层…