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

剖析Python正則表達式特別之處

開發(fā) 后端
相信大家對Python語言有所了解,但是對Python正則表達式還是不算熟悉,所謂的Python正則表達式:是一種極其有用的文本處理技術(shù)。

Python語言的re模塊對Python正則表達式做了許多有用的改進,看完本文相信您一定可以從文中了解Python語言在正則表達式方面的特別之處,比如什么是最簡單的正則表達式等問題。

對于需要處理文本的程序員來說,必須對正則表達式有一個全面深入的認識。本文為不熟悉正則表達式的讀者提供了一個快速入門的教程。當(dāng)然,對于那些熟悉其他語言中的正則表達式的部分讀者而言,本文也是有益的,因為您可以從中了解Python語言在正則表達式方面的特別之處。

一、什么是Python正則表達式

在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常會有查找符合某些復(fù)雜規(guī)則(或稱為模式)的字符串的需要。正則表達式就是用于描述這些規(guī)則(或模式)的工具。換句話說,正則表達式就是記錄文本規(guī)則的代碼。一旦發(fā)現(xiàn)了符合要求的文本,就可以用對其進行相應(yīng)的修改了。

大家還記得Windows命令行中用于文件查找的通配符吧,即*和?。當(dāng)我們查找某目錄下所有的PDF文檔的時候,只要搜索*.pdf即可。在這里,*會被解釋成任意的字符串。和通配符類似,正則表達式也是用來進行文本匹配的工具,只不過較之于通配符,它能更精確地描述你的需求,例如用來查找一個web頁面中的所有電話號碼。

我們知道,電話號碼一般都有一個固定的寫法:區(qū)號-電話號碼,即有以0開頭,后跟2-3個數(shù)字,然后是一個連字號“-”,***是7或8位數(shù)字組成的字符串(例如010-12345678或0634-1234567)。

二、最簡單的正則表達式

學(xué)習(xí)正則表達式的***方法是從具體的示例入手,讓讀者親自動手實驗。下面給出了不少簡單的例子,并對它們作了詳細的說明。當(dāng)我們在一字符串中查找to,你可以使用正則表達式to。這幾乎是最簡單的正則表達式了,它可以精確匹配這樣的字符串;

由兩個字符組成,前一個字符是t,后一個是o。為了演示,我們提供了一個函數(shù)re_show(),可以把看作是re模塊的一個封裝器,它會把給定的字符串中匹配(說某個字符串與某個正則表達式匹配。

通常是指這個字符串里有一部分或幾部分或全部能滿足表達式給出的條件)的內(nèi)容加上一個花括號。現(xiàn)在我們不對該函數(shù)做進一步的介紹。您只要知道re_show()的***個參數(shù)是一個Python正則表達式,第二個參數(shù)是要匹配的字符串,當(dāng)找到匹配的內(nèi)容時,就用花括號將它括起來就行了。還是源代碼如下:

  1. import re  
  2. def re_show(pat, s):  
  3.     print re.compile(pat, re.M).sub("{\g<0>}", s.rstrip()),'\n'  
  4. s = '''Python runs on Windows, Linux/Unix,  
  5. Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones.  
  6. Python has also been ported to the Java and .NET virtual machines.'''  
  7. re_show("to",s) 

其中,函數(shù)調(diào)用re_show("to",s)的作用就是查找字符串s中是否包含字符串to,或者說字符串s是否匹配正則表達式to;如果匹配的話,就給字符串to加上花括號。

三、匹配單詞的Python正則表達式

我們看到,如果僅僅要求找出文本中的字符串to的話,上面的正則表達式還是可以的,但是如果要想匹配文本中的單詞to的話,上面的正則表達式to就不夠用了。例如,將上面的代碼中的字符串s的定義改為下面的樣子:

  1. s = '''In company or association with respect to place or time;  
  2. as, to live together in one house; to live together in the  
  3. same age; they walked together to the town.''' 

我們發(fā)現(xiàn),上面的文字中,不僅單詞to,此外像together和town這些單詞中也包含字符串to,如果這時再用上面的Python正則表達式to來查找“單詞”to的話,就會出錯了。

【編輯推薦】

  1. 有關(guān)Python系統(tǒng)文件進行介紹指導(dǎo)
  2. 如何正確的使用Python函數(shù)
  3. 對Python 構(gòu)建工具進行詳細介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責(zé)任編輯:chenqingxiang 來源: 網(wǎng)界網(wǎng)
相關(guān)推薦

2010-08-12 10:35:06

Flex正則表達式

2024-09-14 09:18:14

Python正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2010-03-25 18:25:36

Python正則表達式

2018-09-27 15:25:08

正則表達式前端

2009-12-18 13:57:35

Ruby正則表達式

2020-09-04 09:16:04

Python正則表達式虛擬機

2010-03-01 15:51:59

Python則表達式

2010-03-11 08:55:45

python正則表達式

2019-12-10 10:40:57

Python正則表達式編程語言

2016-11-10 16:21:22

Java 正則表達式

2009-09-16 17:15:57

正則表達式引擎

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2023-09-13 08:12:45

2017-05-12 10:47:45

Linux正則表達式程序基礎(chǔ)

2022-03-28 06:19:14

正則表達式開發(fā)

2009-02-18 09:48:20

正則表達式Java教程

2019-07-17 15:45:47

正則表達式字符串前端

2009-09-16 18:19:34

正則表達式組

2011-06-02 12:34:16

正則表達式
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www.久久影视| 国产精品明星裸体写真集 | 久久久久久一区 | 久久小视频 | 精品国产乱码久久久久久果冻传媒 | 精品欧美激情精品一区 | 中文字幕免费 | 日本欧美国产 | 亚洲欧美在线一区 | 欧美在线观看黄色 | 91精品国产一区二区三区 | av网站在线免费观看 | 日韩成人免费 | 中文字幕av网站 | 国产香蕉视频 | 九九视频在线观看 | 国产精品自产拍 | 亚洲最大的黄色网址 | 国产精品乱码一区二三区小蝌蚪 | 国产一区二区精品在线观看 | 这里只有精品999 | 日韩毛片免费视频 | 国产一区二| 日韩精品在线观看一区二区 | 在线观看中文字幕 | 久久最新| 欧美日韩综合 | 韩国久久 | 国产午夜精品一区二区三区四区 | 精品欧美视频 | 国产区精品视频 | 欧美一区二区免费 | 国产在线1 | av中文字幕在线观看 | 91亚洲国产成人久久精品网站 | 香蕉视频1024| 亚洲人精品午夜 | 日本国产欧美 | 91久久久久久久久久久 | 嫩草视频入口 | 欧美一区视频 |