国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

PYTHON正則表達式 re模塊使用說明

2020-02-23 04:46:51
字體:
來源:轉載
供稿:網友

首先,運行 Python 解釋器,導入 re 模塊并編譯一個 RE:

#!python
Python 2.2.2 (#1, Feb 10 2003, 12:57:01)
>>> import re
>>> p = re.compile('[a-z]+')
>>> p
<_sre.SRE_Pattern object at 80c3c28>

現在,你可以試著用 RE 的 [a-z]+ 去匹配不同的字符串。一個空字符串將根本不能匹配,因為 + 的意思是 “一個或更多的重復次數”。 在這種情況下 match() 將返回 None,因為它使解釋器沒有輸出。你可以明確地打印出 match() 的結果來弄清這一點。

#!python
>>> p.match("")
>>> print p.match("")
None

現在,讓我們試著用它來匹配一個字符串,如 "tempo"。這時,match() 將返回一個 MatchObject。因此你可以將結果保存在變量里以便后面使用。

#!python
>>> m = p.match( 'tempo')
>>> print m
<_sre.SRE_Match object at 80c4f68>

現在你可以查詢 `MatchObject` 關于匹配字符串的相關信息了。MatchObject 實例也有幾個方法和屬性;最重要的那些如下所示:

                                                                                                                                                                                                                                     

方法/屬性作用
group()返回被 RE 匹配的字符串
start()返回匹配開始的位置
end()返回匹配結束的位置
span()返回一個元組包含匹配 (開始,結束) 的位置


試試這些方法不久就會清楚它們的作用了:

#!python
>>> m.group()
'tempo'
>>> m.start(), m.end()
(0, 5)
>>> m.span()
(0, 5)

group() 返回 RE 匹配的子串。start() 和 end() 返回匹配開始和結束時的索引。span() 則用單個元組把開始和結束時的索引一起返回。因為匹配方法檢查到如果 RE 在字符串開始處開始匹配,那么 start() 將總是為零。然而, `RegexObject` 實例的 search 方法掃描下面的字符串的話,在這種情況下,匹配開始的位置就也許不是零了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江陵县| 馆陶县| 建昌县| 大同市| 平舆县| 永善县| 张家港市| 房产| 汽车| 墨玉县| 桑植县| 张家界市| 南昌县| 和平县| 襄城县| 石城县| 长治市| 饶平县| 和林格尔县| 上栗县| 施秉县| 金湖县| 汝城县| 保靖县| 涟源市| 丰原市| 安泽县| 盘锦市| 沧源| 东乌| 城市| 楚雄市| 铜梁县| 绵竹市| 上栗县| 房产| 行唐县| 繁峙县| 句容市| 南川市| 山丹县|