Python基礎篇之正規表達式
正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。
前言
之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍正则表达式。主要参考PyCon2016上的一个视频Regular Expressions。
我将分几篇文章对正则表达式进行总结。
以下是第一部分,基础:
基础部分
这里总结了正则表达式最基础的用法,其中大部分内容对我(以及大部分程序员)来说都是平时经常用到的,所以我就一笔带过了,只对其中的几处用例子说明。
. 除了换行之外的其他所有字符
^ 行首
$ 行尾
[abcd] abcd其中的一个字符
[^abcd] 除了abcd之外的任意字符
[a-d] 相当于[abcd]
[a-dz] 相当于[abcdz]
\b 单词边界
\w 字母数字或下划线 相当于[a-zA-Z0-9_]
\W 与\w相反
\d 数字,相当于[0-9]
\D 与\d相反
\s 空白字符,相当于[ \t\n\r\f\v]
\S 与\s相反
{5} 在此之前的正则表达式部分(下同)准确的出现5次
{2,5} ~出现2到5次
{2,} ~出现2次或多次
{,5} ~出现0到5次
* ~出现0次或多次
? ~出现0次或1次
+ ~出现1次或多次
ABC|DEF 匹配ABC或者DEF
\ 转义字符,如\表示匹配*,\$表示匹配$*
\b、 \用以下几个例子简单说明一下:
\b:
>>> re.search(r'\bhello\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello world') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello,world') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello_world') >>>
其实这里,\b大体上和\W一支,但是\b可以匹配行首行尾等非显示类的字符,而\W不可以。
\:
>>> re.search(r'\$100', '$100') <_sre.SRE_Match object; span=(0, 4), match='$100'> >>> re.search(r'$100', '$100') >>>
想要匹配那些在正则表达式中有特殊含义的字符,如$、^、*等,就需要用\进行转义。
raw string:
另外,前面例子中,模式字符串(pattern)前面都加了一个r,这个r的意思是raw string,后面所接的字符串,Pyhton解释器无需对其进行转义。因为,\在Python字符串中和正则表达式中都有特殊含义,所以如果不是raw string,那么要表达一个\字符,就需要四个\了(在Python解释器中先转义一次,2个\表示1个\,剩下2个\,在正则表达式中又转义一次,最终剩下一个\)。例如:
>>> re.search(r'\bhello\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search('\bhello\b', 'hello') >>> re.search('\\bhello\\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search('\\\\hello\\\\', '\\hello\\') <_sre.SRE_Match object; span=(0, 7), match='\\hello\\'> >>> re.search(r'\\hello\\', '\\hello\\') <_sre.SRE_Match object; span=(0, 7), match='\\hello\\'> >>> print('\\hello\\') \hello\
【相关推荐】
1. Python免费视频教程
3. Python學習手冊
#以上是Python基礎篇之正規表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
