美文网首页
正则表达式

正则表达式

作者: candice0430 | 来源:发表于2025-01-06 14:39 被阅读0次

一、单个字符


10a053da2f515d87ecdb09cc389b606.png

二、匹配多个字符


9a2d5f6069ff7cfd0c954c5d27fa3eb.png
三、匹配开头和结尾
dbb4a8324a3af1e5809631790f91be2.png

四、贪婪与非贪婪


image.png
举例:
image.png
image.png
五、(?<=...)和(?=...)
image.png
image.png
六:练习巩固

1.匹配邮箱地址
编写一个正则表达式,匹配有效的邮箱地址。邮箱地址格式如下:
●用户名部分可以包含字母、数字、下划线、点号(.),并且不能以点号开头或结尾。
●域名部分由字母、数字、点号组成,且至少有一个.。

[.].@[\w]+(?!...)[.].*[\w]*[.]$

  1. 匹配手机号(中国大陆)
    编写一个正则表达式,匹配中国大陆的手机号。手机号应满足以下条件:
    ●以1开头,第二位是3到9之间的数字。
    ●后面跟着9个数字。

1[3-9][0-9]{9}$

  1. 匹配IP地址
    编写一个正则表达式,匹配IPv4地址。要求:
    ●每个数字应在0-255之间。
    ●地址由4个数字组成,每个数字之间用.分隔。

^(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])$

  1. 匹配日期(YYYY-MM-DD格式)
    编写一个正则表达式,匹配日期格式为YYYY-MM-DD。要求:
    ●年份是4位数字。
    ●月份是01-12。
    ●日期是01-31。

^([1-9][0-9]{3}-(0[1-9]|[1][0-2])-(0[1-9]|[12][0-9]|3[01]))$

  1. 提取URL中的域名
    编写一个正则表达式,提取URL中的域名部分。要求:
    ●匹配以http://或https://开头的URL。
    ●提取主域名部分(例如:www.example.comexample.com)。

(http)s?://(www.)?(?!...)[.].[^.]$

  1. 提取文件扩展名
    编写一个正则表达式,提取文件路径中的扩展名。要求:
    ●扩展名只包含字母、数字、下划线(例如:.txt, .jpg, .py)。
    ●扩展名部分是点号后跟字母和数字。

[.][\w]+)$

  1. 匹配时间(24小时制)
    编写一个正则表达式,匹配24小时制的时间格式HH:MM。要求:
    ●时(HH)是00到23之间的数字。
    ●分(MM)是00到59之间的数字。

^(([0-9]|[01][0-9]|2[0-3]):([0-9]|[0-5][0-9]))$

  1. 匹配数字(整数或浮动小数)
    编写一个正则表达式,匹配整数或浮动小数。要求:
    ●可以包含小数点。
    ●可以包含负号。

^(-?[\d]+|-?[\d][.]?[\d]+)$

  1. 匹配包含空格的字符串
    编写一个正则表达式,匹配包含至少一个空格的字符串。
    .[\s]+.
  2. 匹配重复的单词
    编写一个正则表达式,匹配文本中重复出现的单词,忽略大小写。确保匹配两个连续重复的单词。
  3. 提取HTML标签中的文本内容
    编写一个正则表达式,提取HTML标签中的文本内容,忽略标签。例如,提取<p>hello</p>中的hello。
    (?<=<[>]+>).*(?=<[>]+>)
  4. 匹配以特定字符开头和结尾的字符串
    编写一个正则表达式,匹配以字母a开头并以字母z结尾的字符串,中间可以包含任何字符。
    ^a.*z$
  5. 匹配身份证号码
    编写一个正则表达式,匹配中国大陆的身份证号码。要求:
    ●18位数字,其中最后一位可以是字母X。
    ●前17位为数字。
    ^(\d{18})|^(\d{17}[xX])
  6. 替换字符串中的数字为字符
    编写一个正则表达式,将字符串中的所有数字替换为#。
import re

# 输入字符串
input_string = "My phone number is 123-456-7890 and my zip code is 98765."

# 使用 re.sub() 方法将所有数字替换为 #
result = re.sub(r'\d', '#', input_string)

# 输出结果
print(result)  # 输出:My phone number is ###-###-#### and my zip code is #####.
  1. 匹配以特定单词为开头或结尾的字符串
    编写一个正则表达式,匹配以start为开头或以end为结尾的字符串。
    ^start.|.end$
  2. 匹配网址中查询参数
    编写一个正则表达式,提取URL中的查询参数部分。示例URL:http://example.com?name=John&age=30,需要提取name=John和age=30。
    (?<=?).*
  3. 提取字符串中的数字
    编写一个正则表达式,提取字符串中的所有数字。确保能够提取所有的连续数字并且忽略字母和其他符号。
    (?<=.)[\d]+(?=.)
  4. 匹配带有空格和其他符号的字符串
    编写一个正则表达式,匹配包含空格、标点符号和字母数字的字符串。
    [\S]*[\s].+
  5. 匹配合法的HTML标签
    编写一个正则表达式,匹配符合HTML标签规则的字符串。例如:<div>content</div>,要求匹配<div>标签。
    <(?<=<)[\w]*(?=>)>
  6. 提取URL路径中的文件名
    编写一个正则表达式,提取URL路径中的文件名(不包括扩展名)。例如,http://example.com/path/to/file.txt,应提取file。
    (?<=[^/]/)[\w]*(?=.)

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/sberyjtx.html