0


正则表达式

我的个人博客主页:如果’'真能转义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)ifmatch: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)

在这里插入图片描述


本文转载自: https://blog.csdn.net/m0_74154295/article/details/130591612
版权归原作者 如果'\'真能转义1️⃣说1️⃣ 所有, 如有侵权,请联系我们删除。

“正则表达式”的评论:

还没有评论