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

首頁 > 編程 > Python > 正文

Python正則表達式和元字符詳解

2020-02-15 23:49:37
字體:
來源:轉載
供稿:網友

正則表達式

正則表達式是一種強大的字符串操作工具。它是一種領域特定語言 (DSL),不管是 Python 還是在大多數現代編程語言中都是作為庫存在。

它們主要面向兩種任務:

- 驗證字符串是否與模式匹配 (例如,字符串具有電子郵件地址的格式)。
- 在字符串中執行替換(例如將所有大寫字母改成小寫字母)。

特定于領域的語言是高度專業化的迷你編程語言。

正則表達式是一個例子,SQL(用于數據庫操作)是另一個例子。

私有領域特定語言通常用于特定的工業目的。

Python 的正則表達式可以使用 re 模塊訪問,re 模塊是標準庫的一部分。

當你定義一個正則表達式,可以使用 re.match 函數用于確定是否匹配字符串的開始部分。如果匹配則 match 函數返回表示匹配的對象,如果不匹配則返回 None。

為了避免在處理正則表達式時出現混淆,我們將 r 添加到字符串前綴。該字符串不需要轉義任何東西,使得正則表達式的使用變得更容易。

from re import matchmsg = r"super"if match(msg,"superman!"): print("You are True")else: print("Occur an error! Foolish...")

運行結果:

>>>
You are True
>>>

上面的例子檢查模式 super 是否匹配字符串,如果匹配,則打印 You are True。

這里的模式是一種簡單的單詞,但是有些字符串,在正則表達式中使用它們時會有特殊的意義。

匹配模式的其他函數有 re.match re.findall。

re.match 在字符串中找到匹配。
re.findall 返回一個包含匹配的列表。

import restring = "Hello python!Hello python!Hello python!"pattern = r".python."print(re.match(pattern,string))print(re.findall(pattern,string))

運行結果:

>>>
None
[' python!', ' python!', ' python!']
>>>

從上面的示例中,我們可以得出:

match() 函數是從內容的第一個字符開始匹配,如果匹配不到,就得到None
findall() 函數從全部內容匹配,如果有多個,找出所有匹配的

函數 re.finditer 執行與 re.findall 相同的操作,但它返回一個迭代器,而不是一個列表。

正則表達式的 search 函數返回一個對象,包含幾個更詳細的信息。

此方法包括返回字符串匹配的值,返回第一次匹配的開始和結束位置,以及以元組形式返回第一個匹配的開始和結束位置的 span 函數。

import restring = "Hello python!Hello python!Hello python!"pattern = r".python."match = re.search(pattern,string)if match: print(match.group()) print(match.start()) print(match.end()) print(match.span())            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪| 邯郸县| 哈尔滨市| 格尔木市| 诸暨市| 舟曲县| 永靖县| 嵊州市| 高雄市| 和田市| 乌恰县| 东丰县| 宁海县| 乳山市| 东源县| 石渠县| 呼和浩特市| 黄大仙区| 灵寿县| 长春市| 肃南| 名山县| 阳信县| 巴彦淖尔市| 抚顺县| 陆川县| 张家港市| 长乐市| 灵台县| 张家界市| 山东省| 井研县| 马尔康县| 香港 | 达日县| 乡城县| 扎赉特旗| 鱼台县| 饶阳县| 沐川县| 固安县|