【python學習】基礎篇-常用模塊-re模塊:正則表達式高效操作字符串

在Python中,正則表達式主要通過re模塊來實現。以下是一些常用的正則表達式用法:

匹配值:

pattern = r'\d+'  # 匹配一個或多個數字
pattern = r'\b\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\b' #匹配日期格式
pattern = r'hello'  # 匹配字符串“hello”
  • \d 表示匹配一個數字字符,等價于 [0-9];
  • +表示匹配前面的子表達式一次或多次
  • \d{4}表示匹配四位數字
  • \b 表示單詞邊界,確保匹配的時間字符串前后沒有其他數字或字符,在字符串首尾各一個

1、導入re模塊:

import re

2、使用re.search()函數查找字符串中是否包含指定的模式:

import re
pattern = r'\d+'  # 匹配一個或多個數字
string = 'abc123def456'
result = re.search(pattern, string)
if result:print('找到匹配項:', result.group())
else:print('未找到匹配項')

3、使用re.findall()函數查找字符串中所有符合指定模式的子串

import re
pattern = r'\d+'  # 匹配一個或多個數字
string = 'abc123def456'
result = re.findall(pattern, string)
print('找到的所有匹配項:', result)

4、使用re.sub()函數替換字符串中符合指定模式的子串:

import re
pattern = r'\d+'  # 匹配一個或多個數字
replacement = 'NUM'
string = 'abc123def456'
result = re.sub(pattern, replacement, string)
print('替換后的字符串:', result)

5、使用re.split()函數根據指定模式分割字符串

import re
pattern = r'\d+'  # 匹配一個或多個數字
string = 'abc123def456'
result = re.split(pattern, string)
print('分割后的字符串列表:', result)

6、使用re.compile()函數將正則表達式編譯為一個模式對象,以便重復使用:

import re
pattern = re.compile(r'\d+')  # 匹配一個或多個數字

7、使用re.escape()函數對特殊字符進行轉義,以便在正則表達式中使用:

import re
string = 'a.b*c?d+e|f{g}h[i]j^k$l'
escaped_string = re.escape(string)
print('轉義后的字符串:', escaped_string)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164638.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164638.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164638.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【LeetCode】挑戰100天 Day12(熱題+面試經典150題)

【LeetCode】挑戰100天 Day12(熱題面試經典150題) 一、LeetCode介紹二、LeetCode 熱題 HOT 100-142.1 題目2.2 題解 三、面試經典 150 題-143.1 題目3.2 題解 一、LeetCode介紹 LeetCode是一個在線編程網站,提供各種算法和數據結構的題目&…

HTTP客戶端警告:Going to buffer response body of large or unknown size

HTTP客戶端警告:Going to buffer response body of large or unknown size 點關注不迷路,歡迎再訪! 精簡博客內容,盡量已行業術語來分享。 努力做到對每一位認可自己的讀者負責。 幫助別人的同時更是豐富自己的良機。 目錄 HTTP客…

IAR為恩智浦S32M2提供全面支持,提升電機控制能力

IAR Embedded Workbench for Arm已全面支持恩智浦最新的S32系列,可加速軟件定義汽車的車身和舒適性應用的開發 瑞典烏普薩拉,2023年11月22日 – 嵌入式開發軟件和服務的全球領導者IAR現已全面支持恩智浦半導體(NXP Semiconductors&#xff0…

python腳本后臺執行

nohup python script.py &

CMS垃圾收集器深入解析

1.CMS的兩種模式與一種特殊策略 1.1Backgroud CMS(沒有并發失敗的情況) 1.1.1并發標記還能被整理成兩個流程 (1)初始標記 (2)并發標記(3)(4)在這個階段發生(3)并發預處理 (4)可中止的預處理 (5)重新標記 (6)并發清除 1.1.2為什么我們的并發標記細化之后還會額外有兩個流…

【pandas數據處理】數據結構

數據結構 Series基于列表創建數據結構自定義元素的行標簽基于字典創建數據結構 DataFrame對象基于列表創建數據結構設置參數來定義行列標簽基于字典 Series 一維數組對象,不僅包含數據元素,還包含一組與數據元素對應的行標簽。 基于列表創建數據結構 …

C++設計模式之工廠模式(下)——抽象工廠模式

抽象工廠模式 介紹示例示例使用運行結果抽象工廠模式的優缺點優點缺點 總結 介紹 抽象工廠模式是一種創建型設計模式,它提供了一種封裝一組相關或相互依賴對象的方式,而無需指定它們具體的類。它允許客戶端使用抽象接口來創建一系列相關的對象&#xff…

Jquery ajax 同步阻塞引起的UI線程阻塞的坑(loading圖片顯示不出來 )

Jquery ajax 同步阻塞引起的UI線程阻塞的坑(loading圖片顯示不出來,layer.load延遲)jax重新獲取數據刷新頁面功能,因為ajax屬于耗時操作,想在獲取數據且加載頁面時顯示加載遮罩層,結果發現了ajax的好多坑。…

Elasticsearch自動清理腳本

腳本 我在data下創建的腳本文件就叫:vi /data/clear_log.sh,內容如下 #!/bin/sh #獲取時間 time=`date +%Y-%m-%d %H:%M:%S` cipan=`df -h| grep sda3` #查詢磁盤使用率 liang=`df -h| grep sda3 |grep -v grep |awk {print $5}|tr -d

【數據結構】一題帶你出師鏈表!

🦄個人主頁:修修修也 🎏所屬專欄:數據結構 ??操作環境:Visual Studio 2022 題目鏈接 138. 隨機鏈表的復制https://leetcode.cn/problems/copy-list-with-random-pointer/ 題目描述 給你一個長度為 n 的鏈表,每個節點包含一個額外增加的隨機…

Make a BESD file from QTLtools output

Make a BESD file from QTLtools output # 根據基因名與變異rsid編號去重 library(tidyverse) library(readxl) qtltoolsnomi <- read_table("qtltoolsnomi.txt",col_names F) qtltoolsnomi %>% distinct(X1,X8, .keep_all TRUE) -> qtltool qtltool …

qml ParticleSystem3D使用介紹

在 Qt Quick 3D 中,ParticleSystem3D 是用來創建和控制3D粒子系統的元素。粒子系統是圖形編程中用于模擬液體、煙霧、火、星空等現象的技術,它通過生成大量小粒子來模擬這些效果。ParticleSystem3D 提供了一個框架,允許開發者定義粒子的各種屬性,如生命周期、速度、顏色、大…

王道p149 9.設樹B是一棵采用鏈式結構存儲的二叉樹,編寫一個把樹 B中所有結點的左、右子樹進行交換的函數。(c語言代碼實現)

本題代碼如下 void swap(tree* t) {if (*t){treenode* temp (*t)->lchild;(*t)->lchild (*t)->rchild;(*t)->rchild temp;swap(&(*t)->lchild);swap(&(*t)->rchild);} } 完整測試代碼 #include<stdio.h> #include<stdlib.h> typed…

C#string.Format的一些使用

C#中的string.Format方法是一個用于格式化字符串的功能強大的方法。它允許您通過將占位符替換為實際的值來創建格式化的字符串。 一、基本語法是&#xff1a; string.Format(format, arg0, arg1, arg2, ...) 其中&#xff0c; format是一個字符串&#xff0c;其中包含要格式…

Java常用類

目錄 包裝類 裝箱和拆箱 包裝類型和String的轉換&#xff0c;包裝類的常用方法 包裝類 裝箱和拆箱 package com.edu.wrapper;public class Interger01 {//演示int<-->Integer的裝箱和拆箱//手動裝箱int n1100;Integer integer new Integer(n1);Integer integer01 In…

HCIP---MPLS---LDP

文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 前言 MPLS 基于標簽轉發表進行轉發&#xff0c;與路由表類似&#xff0c;標簽轉發表有兩種獲取渠道&#xff1a;一是手動配置(類似靜態路由)&#xff0c;二是通過協議自動學習(類似OSPF)。手動配…

6.1.webrc媒體協商

那今天呢&#xff1f;我們來看一下y8 rtc的媒體協商&#xff0c;那實際上在我們之前的課程中呢&#xff1f;我已經向你介紹過y8 rtc的媒體協商了。只不過呢&#xff0c;角度是不一樣的&#xff0c;在之前介紹外邊tc媒體協商的時候呢&#xff0c;我們是從應用的角度來看。那web …

ActiveMQ消息中間件應用場景

一、ActiveMQ簡介 ActiveMQ是Apache出品&#xff0c;最流行的&#xff0c;能力強勁的開源消息總線。ActiveMQ是一個完全支持JMS1.1和J2EE1.4規范的JMS Provide實現。盡管JMS規范出臺已經是很久的事情了&#xff0c;但是JMS在當今的J2EE應用中仍然扮演這特殊的地位。 二、Active…

《第一行代碼:Android》第三版-2.5.4數據類與單例_數據類

本文主要講述數據類&#xff0c;以前用java實現數據類很麻煩&#xff0c;寫很多代碼&#xff0c;就是搭個數據類的框架。kotlin用data class 關鍵字&#xff0c;給你簡化了數據類的創建&#xff0c;比較貼心。 就是自動為你創建了&#xff1a;equals()、hashCode()、toString(…

深入理解JVM 類加載機制

深入理解JVM 類加載機制 虛擬機如何加載Class文件&#xff1f; Class文件中的信息進入到虛擬機后會發生什么變化&#xff1f; 類加載機制就是Java虛擬機把描述類的數據從Class文件加載到內存&#xff0c;并對數據進行校驗、轉換解析和初始化&#xff0c;最終形成可以被虛擬機…