正则表达式详解(零基础教学,手把手教你写正则)

本篇文章将从零讲解什么是正则表达式,以及正则表达式的规则、在python中的应用,用通俗易懂的描述方式进行零基础级别的讲解,尽量做到全网最全讲解,力求最高质量文章,欢迎关注!点击目录可直接进行相关位置跳转。

目录:

什么是正则?

为什么需要正则?

元字符 

1、将正则表达式写成"."来运行程序

2、将正则表达式写成"^."来运行程序

3、将正则表达式写成".$"来运行程序

字符集

 例1:提取一串字符串中包含a、b、c、d、e的部分

 例2:提取一串字符串中除了a、b、c、d、e的部分

量词

例1:字符串"ab*c"表示b可以出现0次或多次,所以下列情况均可以匹配到

例2:字符串"ab+c"表示b可以出现1次或多次,所以下列情况均可以匹配到

转义及特殊序列

例1:匹配所有的数字

例2:匹配所有非数字

例3: 匹配所有非字母、数字、下划线

例4:根据边界匹配,找出所有的foo

正则分组

例:使用分组分别提取邮箱中的前后两部分


什么是正则?

正则是一种用于描述文本模式的工具。

正则表达式使用一些特定的符号和字符来描述文本中的模式和结构,例如字符串的格式、字符集合、数量和位置等。

使用正则表达式可以有效地进行字符串匹配、替换和提取等操作。

有了正则表达式,我们就可以非常快速的提取出想要的内容而不需要特别复杂的代码来完成

例如:正则表达式可以实现用很少量的字符即可提取出下列文字中所有的数字部分↓

截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点......

为什么需要正则?

正则表达式常用于文本处理、搜索引擎、数据清洗和数据挖掘等领域。

在编程语言中,例如Python、Java、JavaScript等,都提供了正则表达式的支持。通过编写正则表达式,我们可以轻松地匹配和操作字符串中的特定模式,从而快速实现复杂的字符串处理任务。

总之,正则表达式是一种非常有用的工具,可以帮助我们快速有效地处理和操作字符串数据,提高数据处理的效率和准确性。

正则表达式样例:

pattern = r"\d+(\.\d+)?"

在python中运行正则表达式方法:

import re
text = "截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点......"

#使用正则表达式提取数字
pattern = r"\d+(\.\d+)?"
result = re.findall(pattern,text)

#输出提取数据
print(result)

写好一个核心的正则表达式,主要先从理解它的基本组成部分开始,主要包括理解且会用以下内容:

  • 元字符
  • 字符集
  • 量词
  • 转义
  • 特殊序列
  • 分组 

元字符 

元字符:元字符是正则表达式中用来匹配字符的特殊字符

以下三种为常用元字符:

  • "."表示匹配任意字符
  • "^"表示匹配字符串的开头
  • "$"表示匹配字符串的结尾

 1、将正则表达式写成"."来运行程序,过程如下

import re

text = "截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点......"

# 将正则表达式换成一个小数点
pattern = r"."
result = re.findall(pattern, text)

# 输出提取数据
print(result)

在pycharm编辑器中的运行结果:

['截', '至', '收', '盘', ',', '上', '证', '指', '数', '涨', '0', '.', '7', '8', '%', ',', '报', '3', '4', '4', '6', '.', '7', '3', '点', ',', '深', '证', '成', '指', '涨', '0', '.', '9', '1', '%', ',', '报', '1', '3', '6', '4', '2', '.', '9', '5', '点', ',', '创', '业', '板', '指', '涨', '1', '.', '0', '6', '%', ',', '报', '2', '6', '7', '2', '.', '1', '2', '点', '.', '.', '.', '.', '.', '.']

以上方法则实现了把没一个字符都提取出来了并且放在了一个列表中。

2、将正则表达式写成"^."来运行程序,过程如下

import re

text = "截至收盘,上证指数涨0.78%,报3446.73点,深证成指涨0.91%,报13642.95点,创业板指涨1.06%,报2672.12点......"

# 将正则表达式换成"^."
pattern = r"^.
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Liu_GuoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值