常用的正则表达式实例整理

针对“常用的正则表达式实例整理”,我会从以下几个方面来详细讲解:

  1. 什么是正则表达式?
  2. 常用的正则表达式实例整理
  3. 示例说明
  4. 如何测试正则表达式的匹配效果?

什么是正则表达式?

正则表达式是用于模式匹配的一个工具,它可以在文本中搜索指定的模式并进行各种操作。使用正则表达式可以快速检索文本,替换文本中的一些特定内容,或者验证表单的输入等等。

常用的正则表达式实例整理

下面列出了一些常见的正则表达式实例:

  1. 匹配数字:^\d+$
  2. 匹配邮箱:^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+$
  3. 匹配网址:^((http|https)://)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+([a-zA-Z0-9_-.,@?^=%&:/~+#]*[a-zA-Z0-9_-@?^=%&/~+#])?$
  4. 匹配 IP 地址:^(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[1]?[1-9][0-9]?)$
  5. 匹配用户名:^[a-zA-Z]\w{5,17}$
  6. 匹配手机号码:^1([3456789])\d{9}$
  7. 匹配密码:^[a-zA-Z]\w{5,17}$
  8. 匹配日期(1990-01-01 ~ 2022-12-31):^(199\d|20[01]\d|202[0-2])-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$

示例说明

以匹配数字为例,^\d+$表示以数字开头,以数字结尾,中间包含任意个数字。其中,^表示开头,\d表示一个数字,+表示出现一次或多次,$表示结尾。

另外,以匹配手机号码为例,^1([3456789])\d{9}$表示以“1”开头,第二位是3、4、5、6、7、8、9中的一个,后面接任意9位数字。其中,括号内的内容是一个分组,\d表示一个数字,{9}表示出现9次。

具体每个符号的含义可以参考 正则表达式常用符号及含义

如何测试正则表达式的匹配效果?

可以使用在线工具或者编程语言提供的正则表达式相关函数来测试,下面以使用 JavaScript 的 match() 函数测试为例:

let str = "my phone number is 18888888888.";
let pattern = /^1([3456789])\d{9}$/;
console.log(str.match(pattern));

上述测试代码中,将正则表达式赋给 pattern 变量,使用 match() 函数测试 str 字符串是否符合 pattern 的要求,输出结果为 ["18888888888", "8", index: 20, input: "my phone number is 18888888888.", groups: undefined] 表示匹配成功,匹配到的字符串为 18888888888,分组匹配到的字符串为 8,匹配到的字符串位于 str 的第20个位置。可以通过 return 的值是否为 null 来判断匹配是否合法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:常用的正则表达式实例整理 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • vue better scroll 无法滚动的解决方法

    下面是“vue better scroll 无法滚动的解决方法”的完整攻略。 问题描述 在使用 Vue 项目中,当我们使用了 vue better scroll 插件后,有时候会出现无法滚动的情况。 解决方法 方法一:检查容器高度 一般情况下,使用 vue better scroll 进行滚动时,需要将容器高度设置成固定值或者是百分比值。如果容器高度没有设置…

    css 2023年6月10日
    00
  • CSS display:block在Firefox下显示布局错乱问题

    问题描述: 在Firefox下,使用CSS display:block属性设定元素为块状元素时,有时候会出现布局错乱问题。这个问题主要会出现在交互式元素、定位元素以及浮动元素上。 解决方案: 解决这个问题的方法是手动设置元素的宽度或者使用overflow:hidden属性。 方法一:手动设置宽度 如果一个块状元素没有设置宽度,那么Firefox会按照默认宽度…

    css 2023年6月10日
    00
  • 好用的VSCode头部注释插件Fileheader Pro

    好用的VSCode头部注释插件Fileheader Pro是一种用于为代码文件生成注释头部的插件,可以帮助开发者更好地管理代码文件。本攻略将详细介绍如何安装和使用该插件。 安装Fileheader Pro插件 Fileheader Pro插件是一款可以在VSCode中自动添加文件头部注释的插件,可以提供项目的基本信息、文件名、创建时间、作者等信息,使用起来非…

    css 2023年6月13日
    00
  • js+css实现打字效果

    下面我将为你详细讲解如何使用js和css实现打字效果的完整攻略。 1. 实现思路 实现打字效果的思路可以分为两步: 将要展示的文字逐个显示出来,模拟打字机的效果。 使用CSS样式设置光标闪烁和文本颜色等细节。 为了实现以上效果,可以考虑使用JavaScript的定时器来控制文字的逐个显示,以及CSS的animation动画效果来设置光标的闪烁。 2. 实现过…

    css 2023年6月10日
    00
  • CSS入门:XHTML文档结构树

    下面是CSS入门:XHTML文档结构树的完整攻略。 什么是XHTML文档结构树 在理解XHTML文档结构树之前,需要先了解HTML的基础知识。HTML文档由一个根元素(html标签)和若干子元素(head标签和body标签)组成。而XHTML是HTML的扩展,它规范了HTML的语法和结构,同时也引入了XML的思想,使得HTML更加严谨和规范。 XHTML文档…

    css 2023年6月9日
    00
  • 使用CSS的position属性控制页面布局的入门教程

    关于使用CSS的position属性控制页面布局,下面是一个完整攻略: 一、什么是position属性 position是CSS的一个布局属性,它可以用来控制元素的定位方式。常见的定位方式有三种:相对定位(relative)、绝对定位(absolute)和固定定位(fixed)。 相对定位是指相对于元素原来的位置进行定位,元素所占的空间始终保留在文档流中,通…

    css 2023年6月9日
    00
  • 使用ElementUI修改el-tabs标签页组件样式

    使用ElementUI修改el-tabs标签页组件样式 ElementUI是一款基于Vue.js的UI框架,为Vue.js项目开发提供了一套完善的UI组件库。其中,el-tabs标签页组件是常用的组件之一,在使用中我们可能需要对其进行样式定制化,本文将介绍如何使用ElementUI修改el-tabs标签页组件样式。 步骤一:了解el-tabs标签页组件 在开…

    css 2023年6月9日
    00
  • css实现鼠标悬停时滑出层提示的方法

    实现鼠标悬停时滑出层提示的方法,可以通过CSS的:hover伪类和position属性来完成。 首先,我们可以先定义一个悬停的元素,例如一个链接或按钮: <a href="#" class="hover-element">鼠标悬停我</a> 然后在CSS中,我们可以为该元素设置一个:hover伪…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部