##################################################
目錄
活動簡介
VSCode 配置 Python 環境
怎麼獲取及安裝 VSCode 官方包
VSCode 配置 Python 環境
編寫解釋運行一個 Python 腳本
初識 Python 正則表達式
什麼是 正則表達式/re/匹配模式
正則表達式運算優先級
簡單字符匹配
預定義字符和特殊字符
匹配方法和匹配對象的方法
##################################################
活動地址:CSDN21天學習挑戰賽
學習的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾;一個人摸索學習很難堅持,想組團高效學習;想寫博客但無從下手,急需寫作干貨注入能量;熱愛寫作,願意讓自己成為更好的人…
…
歡迎參與CSDN學習挑戰賽,成為更好的自己,請參考活動中各位優質專欄博主的免費高質量專欄資源(這部分優質資源是活動限時免費開放喔~),按照自身的學習領域和學習進度學習並記錄自己的學習過程,或者按照自己的理解發布專欄學習作品!
##################################################
——————————
請看小爺的這篇博客 上過熱榜的哦!~~
[C# SDK/IDE]-VSCode 搭建 C# 開發環境_燃吹的博客-CSDN博客_vscode 開發c#獲取安裝 Visual Studio Code 漢化及插件配置官網下載安裝.NET Code SDK初識 .NET SDK 的一些命令基本 C# 程序編譯和運行命令行單獨利用 SDK 命令初始化工作空間並編譯運行 C# 程序在 VSCode 中搭配 SDK 編譯運行 C# 程序安裝配置 Code Runner 插件更方便地編譯運行以及本節資源下載...............https://blog.csdn.net/m0_67268286/article/details/125529352
——————————
啟動 VSCode 編輯器:
快捷鍵
Ctrl Shift x
在擴展中搜索
Python
安裝 Python 環境:
第一個就是:
正在安裝:
快捷鍵
Ctrl Shift p
打開命令面板:
搜索:
Python: Select Interpreter
已經自動幫我們選擇好了:
如果沒有 請選擇安裝路徑下的 python.exe 程序!
——————————
打開一個 .py 腳本:
提示我們此時處於受限模式:
點擊管理 點擊信任:
此時有沒有看到右下角:
這表示激活擴展成功!
點擊運行按鈕 開始解釋了:
解釋後運行成功:
Windows PowerShell
版權所有 (C) 2014 Microsoft Corporation。保留所有權利。
PS C:\Users\byme> python -u "e:\PY\test.py"
Hello, World!
PS C:\Users\byme>
##################################################
——————————
正則表達式經常用於驗證和查找符合規則的文本
廣泛用於各種搜索引擎、賬戶密碼的驗證等
或者
數據開發
文本檢索
數據篩選
爬蟲爬取數據時
來檢索字符串
正則表達式已經內嵌入 Python 中 所以 re 模塊也被稱為正則表達式
使用正則表達式需要導入 re 模塊:
C:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun 6 2022, 16:14:13) [MSC v.1929 64 bit (
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>>
——————————
相同優先級的正則表達式從左到右進行計算
不同優先級的運算符從高到低進行計算
下面是正則表達式從高到低的運算優先級:
轉義符號
\
圓括號和方括號
()
[]
限定符
*
+
?
{n}
{n,}
{n,m}
定位點/位置 和 序列/順序
^
$
\任何元字符
任何字符
——————————
[Pp]ython 匹配 "Python" 或 "pthon"
Jav[ac] 匹配 "Java" 或 "Javc"
[abcde] 匹配中括號內的任意一個字母
[0-9] 匹配 0、1、2、3、4、5、6、7、8、9 任何數字
[a-z] 匹配任何小寫字母
[A-Z] 匹配任何大寫字母
[a-zA-Z0-9] 匹配任何字母及數字
[^love] 匹配除了 l、o、v、e 這些字母以外的所有字符
[^0-9] 匹配除了數字外的字符
——————————
預定義字符:
\d 匹配所有的十進制數字 也就是 0 ~ 9
\D 匹配所有的非數字 包含下劃線
\s 匹配所有空白字符 例如 空格 湖泊 TAB 鍵等
\S 匹配所有非空白字符 包含下劃線
\w 匹配所有字母、漢字、數字 即 a 到 z 和 A 到 Z 以及 0 到 9
\W 匹配所有非字母、漢字、數字 包含下劃線
/A 匹配字符串開始
/z 匹配字符串結束
/Z 匹配字符傳結束 如果存在換行 則只匹配到換行前的結束字符串
/G 匹配最後匹配完成的位置
/b 匹配一個單詞邊界 也就是指單詞和空格間的位置 例如 'er\b' 可以匹配 "never" 中的 "er" 但不能匹配 "verb" 中的 "er"
/N 匹配非單詞邊界 "er/B" 能匹配 "verb" 中的 "er" 但不能匹配 "never" 中的 "er"
\n 匹配一個換行符 匹配一個制表符 等等
\t 等同於 \n
特殊字符:
$ 匹配一行的結尾 必須放在正則表達式最後面
^ 匹配一行的開頭 必須放在正則表達式最前面
* 前面的那個字符可以出現 0 次或多次 0 ~ 無限
+ 符號前面的字符可以出現 1 次或多次 1 ~ 無限
? 將 貪婪模式 切換為 勉強模式 前面的字符可以出現 0 次或 1 次 也稱之為非貪婪模式或惰性匹配
+? + 或 * 後跟 ? 表示非貪婪匹配 即盡可能少的匹配 這裡的 +? 表示重復任意次但盡可能少重復
*? 表示匹配任意數量的重復 但是在能使整個匹配成功的前提下使用最少的重復 例如 a.*?b 匹配最短的以 a 開始以 b 結束的字符串 例如 "aabab" 這個字符串會匹配 "aab" 和 "ab"
. 匹配除了換行符 "\n" 之外的任意單個字符
| 兩項都進行匹配
[] 代表一個集合
[abc] 表示能匹配其中的單個字符 a 和 b 和 c
[a-z0-9] 表示匹配指定范圍的字符 可以在最前面加入 ^ 取反
[2-9] [1-3] 還能夠組合匹配
{} 用於標記前面的字符出現的頻率
{n,m} 代表前面字符最少出現了 n 次最多出現了 m 次
{n,} 代表前面字符最少出現 n 次而最多不受限制
{,m} 代表前面字符最多出現 n 次最少不受限制
{n} 前面的字符必須出現了 n 次
——————————
匹配方法:
match() 在目標文本的開頭進行匹配
search() 在整個目標文本中進行匹配
findall() 掃描整個目標文本 返回所有與規則匹配的子串組成的列表 如果沒有匹配的返回空列表
finditer() 掃描整個目標文本 返回所有與規則匹配的子串組成的迭代器
fullmatch() 要求目標文本要完全匹配規則 否則返回 None
sub() 將與規則匹配的子串替換為其她文本
split() 從與規則匹配的子串進行切割 返回切割後子串組成的列表
匹配對象的方法 對匹配到的對象使用:
group() 用於查看指定分組匹配到的內容
groups() 返回一個元組 組內為所有匹配到的內容
groupdict() 返回一個字典 包含分組的鍵值對 需要為分組命名
start() 返回匹配到的內容在文本中的起始索引 end 返回匹配到的內容在文本中的結束索引 span 返回由起始索引和結束索引組成的元組