成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一日一技:正則表達式同一個小括號兩種意思

開發 后端
在Python里面,當我們要從一段正則表達式中提取出一部分內容的時候,我們可以把這部分內容用小括號包起來。

 [[405738]]

在Python里面,當我們要從一段正則表達式中提取出一部分內容的時候,我們可以把這部分內容用小括號包起來。例如:從字符串我的密碼123456abc中提取123456abc,我們可以這樣寫正則表達式:

  1. import re 
  2.  
  3. s = '我的密碼123456abc' 
  4. password = re.findall('密碼(.*?)$', s) 
  5. print(password

運行效果如下圖所示:

在這個例子里面,小括號的意思是“分組”。

但是,在正則表達式里面,小括號還有另外一個意思,那就是把幾個符號放在一起,作為一個整體。

例如,還有另一個字符串我的口令123456abc,這里密碼前面是口令,為了使用同一個正則表達式來從這兩個句子里面提取密碼,那么需要表達密碼或口令(.*?)$這個意思。

但如果我們這樣寫:

  1. 密碼|口令(.*?)$ 

它實際上表達的意思是密碼令(.*?)$或者密口令(.*?)$。

所以我們需要把(密碼)和口令作為整體來看待。此時,正則表達式本身支持使用括號來表示:

  1. (密碼|口令)(.*?)$ 

在正則表達式里面,小括號內部的|左右兩側的多個字符串會作為整體,這樣就能表示密碼(.*?)$或口令(.*?)$了。

但是,正則表達式里面作為整體的小括號,與Python里面用來分組的小括號發生了沖突,于是我們會發現提取出來的內容并不是我們想要的:

可以看到,這里,(密碼|口令)它同時即有正則表達式里面作為整體的功能,又有Python里面分組的功能。于是結果多出來了我們不想要的東西。

那么有什么辦法讓(密碼|口令)只實現正則表達式里面的作為整體的功能,不實現Python里面的分組功能呢?這個時候就需要使用正則表達式里面的一個組合符號?:了。

請大家對比下面三個結果:

可以看到,>.*?<與<(?:.*?)>的作用是一樣的。這就說明,以?:開頭的小括號,它失去了分組的功能。

因此,我們把這個特征用到一開始的例子中:

  1. >>> import re 
  2. >>> s = '我的密碼123456abc' 
  3. >>> re.findall('(?:密碼|口令)(.*?)$', s) 
  4. ['123456abc'
  5. >>> s = '我的口令123456abc' 
  6. >>> re.findall('(?:密碼|口令)(.*?)$', s) 
  7. ['123456abc'

運行效果如下圖所示,完成任務:

本文轉載自微信公眾號「未聞Code」,可以通過以下二維碼關注。轉載本文請聯系未聞Code公眾號。

 

責任編輯:武曉燕 來源: 未聞Code
相關推薦

2025-06-13 01:15:00

正則表達式大模型

2022-06-10 12:19:24

正則表達式可讀性

2021-06-01 21:24:44

多線程代碼搜索

2018-08-21 11:00:20

前端正則表達式Java

2021-10-15 21:08:31

PandasExcel對象

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2025-05-28 03:15:00

Scrapy數據sleep

2021-04-12 21:19:01

PythonMakefile項目

2023-09-06 00:15:04

Pandas技巧格式

2024-04-08 00:00:02

setup技巧Pypi

2017-08-25 16:38:05

表達式正則血案

2022-06-28 09:31:44

LinuxmacOS系統

2023-10-28 12:14:35

爬蟲JavaScriptObject

2021-09-13 20:38:47

Python鏈式調用

2024-11-13 09:18:09

2021-03-12 21:19:15

Python鏈式調用

2021-04-05 14:47:55

Python多線程事件監控

2022-03-12 20:38:14

網頁Python測試

2024-07-30 08:11:16

2024-07-30 08:16:18

Python代碼工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲免费视频播放 | 日韩1区 | 国产视频黄色 | 欧美激情五月 | 国产精品久久国产精品 | 日日操av| 欧美性受 | 日韩av一区二区在线观看 | 在线观看免费福利 | 九色网址 | 精品久久久一区二区 | av中文字幕在线播放 | 国产成人精品视频在线观看 | 亚洲天堂一区二区 | 国产精品一区二区视频 | 天天色天天色 | 日韩有码一区 | 中文av网站 | 中文字幕一页二页 | 黄片毛片在线观看 | 亚洲美女视频 | 97色在线视频 | a国产视频 | 亚洲免费在线视频 | 欧美6一10sex性hd | 国产视频中文字幕在线观看 | av黄色免费在线观看 | 最近免费日本视频在线 | 麻豆一区| 亚洲精品视频在线看 | 久久国产精品-久久精品 | 四虎免费视频 | 亚洲高清在线观看 | 91婷婷韩国欧美一区二区 | 日韩av一区二区在线观看 | 日韩伦理电影免费在线观看 | 成人精品影院 | 91精品国产综合久久久久久蜜臀 | 国产日本精品视频 | 午夜a区| 中文字幕国产在线 |