Python正則簡單例項分析

2022-10-04 21:18:30 字數 854 閱讀 8409

悄悄打入公司內部ued的乙個python愛好者小眾群,前兩天一位牛人發了條訊息:

小的測試題:

re.split('(\w+)', ' test, test, test.')

返回什麼結果

一開始看,我倒沒注意w是大寫的,以為是小寫的w代表單詞字元(含下程式設計客棧劃線),今天執行一看才發現是大寫的。

在idl程式設計客棧e跑一下的結果如下:

>>> import re

>>> re.split('(\w+)', ' test, test, test.')

['', ' ', 'test', ', ', 'test', ', ', 'test', '.', '']

>>>

看到如上的輸出,我是帶有疑惑的,\w匹配非單詞字元,那麼結果裡為什麼有那麼多非單詞字元?

我都懷疑我對\w的含義是不是記錯了,開啟正則手冊一看,確定我沒記錯之後,我發現了此例中匹配模式包含了括號,對應著正則裡面的(pattern),

而這表示在匹配的同時會獲取匹配,並儲存到匹配結果集中。

恍然。再測:

>>> re.split('(\w+)', ' test, test, test.')

['', ' 程式設計客棧', 'test', ', ', 'test', ', ', 'test', '.', '']

>>> re.split('\w+', ' test, test, twww.cppcns.comest.')

['', 'test', 'test', 'test', '']

>>>

ps:這裡再為大家提供2款非常方便的正規表示式工具供大家參考使用:

j**ascr正規表示式**測試工具:

正規表示式**生成工具:

python 正則例項

首先熟悉點正則裡面的一些知識 代表匹配任意字元,貪婪模式,就是盡可能的向後匹配 這個能阻止貪婪模式 re 修飾符 修飾符 描述 re.i 使匹配對大小寫不敏感 re.l 做本地化識別 locale aware 匹配 re.m 多行匹配,影響 和 re.s 使 匹配包括換行在內的所有字元 re.u 根...

簡單分析python的類變數 例項變數

1 類變數 例項變數概念 類變數 類變數就是定義在類中,但是在函式體之外的變數。通常不使用self.變數名賦值的變數。類變數通常不作為類的例項變數的,類變數對於所有例項化的物件中是公用的。例項變數 例項變數是定義在方法中的變數,使用self繫結到例項上的變數,只是對當前例項起作用。2 訪問 類變數在...

python爬蟲簡單例項

通過在網頁上右鍵來檢視審查元素,然後在html內可以發現以下內容,而爬蟲也正是要爬取這些內容。處理標籤開始 defstart element self,name,attrs if name map name attrs title number attrs href 處理標籤結束 defend el...