自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對(duì)Python正則表達(dá)式進(jìn)行入門學(xué)習(xí)

開發(fā) 后端
Python正則表達(dá)式將Python列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語言之一,并建議人們從Python開始學(xué)習(xí)編程,希望大家能夠?qū)W習(xí)研究。

Python正則表達(dá)式是一種極其有用的文本處理技術(shù),不過用起來有一定的難度。Python語言的re模塊對(duì)基本的正則表達(dá)式做了許多有益的改進(jìn)。對(duì)于需要處理文本的程序員來說。

本文為不熟悉正則表達(dá)式的讀者提供了一個(gè)快速入門的教程。當(dāng)然,對(duì)于那些熟悉其他語言中的正則表達(dá)式的部分讀者而言,本文也是有益的,因?yàn)槟梢詮闹辛私釶ython語言在正則表達(dá)式方面的特別之處。

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

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

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

二、最簡單的正則表達(dá)式
學(xué)習(xí)正則表達(dá)式的最好方法是從具體的示例入手,讓讀者親自動(dòng)手實(shí)驗(yàn)。下面給出了不少簡單的例子,并對(duì)它們作了詳細(xì)的說明。當(dāng)我們?cè)谝蛔址胁檎襱o,你可以使用正則表達(dá)式to。這幾乎是最簡單的正則表達(dá)式了,它可以精確匹配這樣的字符串:由兩個(gè)字符組成,前一個(gè)字符是t,后一個(gè)是o。

為了演示,我們提供了一個(gè)函數(shù)re_show(),可以把看作是re模塊的一個(gè)封裝器,它會(huì)把給定的字符串中匹配(說某個(gè)字符串與某個(gè)正則表達(dá)式匹配,通常是指這個(gè)字符串里有一部分或幾部分或全部能滿足表達(dá)式給出的條件)的內(nèi)容加上一個(gè)花括號(hào)。

現(xiàn)在我們不對(duì)該函數(shù)做進(jìn)一步的介紹,您只要知道re_show()的第一個(gè)參數(shù)是一個(gè)正則表達(dá)式,第二個(gè)參數(shù)是要匹配的字符串,當(dāng)找到匹配的內(nèi)容時(shí),就用花括號(hào)將它括起來就行了。還是源代碼如下:

  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是否匹配Python正則表達(dá)式to;如果匹配的話,就給字符串to加上花括號(hào)。上述代碼的執(zhí)行結(jié)果如下所示:

  1. Python runs on Windows, Linux/Unix,  
  2. Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones.  
  3. Python has also been ported {to} the Java and .NET virtual machines.  

【編輯推薦】

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

2010-03-01 15:51:59

Python則表達(dá)式

2019-12-10 10:40:57

Python正則表達(dá)式編程語言

2009-02-18 09:48:20

正則表達(dá)式Java教程

2016-11-10 16:21:22

Java 正則表達(dá)式

2009-08-17 13:56:28

C#正則表達(dá)式入門

2024-09-14 09:18:14

Python正則表達(dá)式

2021-01-27 11:34:19

Python正則表達(dá)式字符串

2009-12-02 15:06:41

正則表達(dá)式

2010-07-22 09:12:05

Perl正則表達(dá)式

2024-12-16 07:33:45

C#正則表達(dá)式

2019-11-29 16:25:00

前端正則表達(dá)式字符串

2010-03-25 18:25:36

Python正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2010-03-11 08:55:45

python正則表達(dá)式

2009-08-13 15:24:27

C#正則表達(dá)式

2009-08-11 13:00:41

C#正則表達(dá)式

2009-09-08 09:32:13

正則表達(dá)式學(xué)習(xí)

2009-08-07 14:31:40

.NET正則表達(dá)式基礎(chǔ)

2010-03-12 17:03:23

Python正則表達(dá)式
點(diǎn)贊
收藏

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