正则表达式

我的个人博客主页:如果’'真能转义1️⃣说1️⃣的博客主页
关于Python基本语法学习---->可以参考我的这篇博客《我在VScode学Python》
关于Java基本语法学习---->可以参考我的这篇博客《我在VScode学Java》

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
[即:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。]


正则表达式可以用于各种任务,包括搜索特定字符或模式、替换文本和验证输入。
常见的正则表达式模式包括:
- . - 匹配除换行符以外的任意字符。
- ^ - 匹配字符串的开头。
- $ - 匹配字符串的结尾。
- * - 匹配前一个字符的零个或多个出现。
- + - 匹配前一个字符的一个或多个出现。
- ? - 匹配前一个字符的零个或一个出现。
- [] - 匹配括号内的任何字符。
- () - 将一系列正则表达式组合在一起。

主流语言用什么方式导入正则表达式:

  • 在Python中,你可以导入re模块: import re
  • 在Java中,你可以导入java.util.regex包: import java.util.regex.*;
  • 在JavaScript中,你可以使用RegExp构造函数或字符串的match()方法: var regex = new RegExp('pattern');`` // 或者
    var match = str.match(/pattern/);
  • 在C++中,你可以使用std::regex库: #include <regex>
    using namespace std;
  • 在Ruby中,正则表达式内置于语言中,可以直接使用: regex = /pattern/

特点:

值得注意的是:则表达式的基本特点在不同的编程语言中基本相同,但语法或可用选项可能会有所不同。
  • 灵活性:正则表达式可以匹配各种模式,包括特定的字符、单词或字符模式。
  • 效率:正则表达式被设计为高效和快速,即使在搜索大量文本时也是如此。
  • 多功能性:正则表达式可以用于各种情况,包括搜索和替换文本、验证输入和解析数据。
  • 复杂性:正则表达式可以非常复杂,具有广泛的语法和选项可用于匹配特定的模式。

主要函数:

正则表达式是一种在编程中用于模式匹配和文本操作的强大工具。以下是正则表达式的一些主要函数:

  • re.search(pattern, string):该函数在字符串中搜索模式的第一个匹配项,并返回一个匹配对象(如果找到)。如果没有找到匹配项,则返回None。

  • re.findall(pattern, string):该函数查找字符串中所有非重叠的模式出现,并将它们作为字符串列表返回。

  • re.sub(pattern, repl, string):该函数将字符串中所有模式的出现替换为替换字符串repl,并返回修改后的字符串。

  • re.split(pattern, string):该函数将字符串在每个模式出现的位置分割成子字符串列表。

re.search(pattern, string):

re.search(pattern, string) 是 Python 中用于在字符串中搜索指定模式的函数。它接受两个参数:pattern 和 string。

pattern 是要搜索的正则表达式模式,string 是要在其中搜索模式的字符串。
如果找到了匹配的模式,则返回一个 Match 对象,否则返回 None。
import re

string = "Hello, World!"
pattern = "hello"

match = re.search(pattern, string)

if match:
    print("Pattern found!")
else:
    print("Pattern not found.")

在这里插入图片描述

(2)re.findall(pattern, string)

import re

# 定义要搜索的模式
pattern = r'\d+'

# 定义要搜索的字符串
string = '我有3个苹果和5个橙子'

# 使用re.findall()在字符串中查找模式的所有出现
result = re.findall(pattern, string)

# 打印结果
print(result)

re.findall(pattern, string)函数用于在给定字符串中搜索模式的所有出现,并将它们作为列表返回。

模式中的r’\d+'用于在字符串’我有3个苹果和5个橙子’中搜索一个或多个数字。re.findall()函数返回一个包含字符串中所有此模式出现的列表,即[‘3’, ‘5’]。然后将此列表打印到控制台。
在这里插入图片描述

(3)re.sub(pattern, repl, string)

re.sub(pattern, repl, string)是re模块中的一个方法,用于将字符串中的模式替换为另一个字符串。
在这里插入图片描述

(4)re.split(pattern, string)

re.split(pattern, string)函数可以根据指定的分隔符将字符串分割成列表.string变量是要被分割的字符串,pattern变量是用于分割字符串的分隔符。在这个例子中分隔符是一个逗号和一个空格。

import re

string = "Hello11 W1rld!"
pattern = ", "

result = re.split(pattern, string)
print(result)

在这里插入图片描述

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你会魔法吗✧(≖ ◡ ≖✿)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值