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

簡單介紹Python正則表達式

開發 后端
下面的文章主要介紹的是python正則表達式的三種基本表達式,其中包括:re的幾個函數,re的幾個函數產生方式,和matchobject

python正則表達式學習,python正則是我們常用的計算機語言,應用非常廣泛,下面的額文章就詳細的介紹用python正則表達式來做一些復雜字符串分析,提取想要的信息夠用就行,一下就是相關的詳細的介紹。

正則表達式中特殊的符號:

“.” 表任意字符
“^ ” 表string起始
“$” 表string 結束
“*” “+” “?” 跟在字符后面表示,0個——多個, 1個——多個, 0個或者1個
*?, +?, ?? 符合條件的情況下,匹配的盡可能少//限制*,+,?匹配的貪婪性
{m} 匹配此前的字符,重復m次
{m,n} m到n次,m,n可以省略

舉個例子 ‘a.*b’ 表示a開始,b結束的任意字符串
a{5} 匹配連續5個a

[] 表一系列字符 [abcd] 表a,b,c,d [^a] 表示非a
| A|B 表示A或者B , AB為任意的python正則表達式另外|是非貪婪的如果A匹配,則不找B
(…) 這個括號的作用要結合實例才能理解, 用于提取信息

  1. d [0-9]  
  2. D 非 \d  
  3. s 表示空字符  
  4. S 非空字符  
  5. \w [a-zA-Z0-9_]  
  6. \W 非 \w  
  7.  

一:re的幾個函數

1: compile(pattern, [flags])
根據python正則表達式字符串 pattern 和可選的flags 生成正則表達式 對象生成正則表達式 對象(見二)其中flags有下面的定義:

I 表示大小寫忽略
L 使一些特殊字符集,依賴于當前環境
M 多行模式 使 ^ $ 匹配除了string開始結束外,還匹配一行的開始和結束
S “.“ 匹配包括‘\n’在內的任意字符,否則 . 不包括‘\n’
U Make \w, \W, \b, \B, \d, \D, \s and \S dependent on the Unicode character properties database
X 這個主要是表示,為了寫正則表達式,更可毒,會忽略一些空格和#后面的注釋

其中S比較常用應用形式如下

  1. import re  
  2. re.compile(……,re.S)  

2: match(pattern,string,[,flags])讓string匹配,pattern,后面分flag同compile的參數一樣返回MatchObject 對象

3: split( pattern, string[, maxsplit = 0])用pattern 把string 分開

  1. >>> re.split(‘\W+’, ‘Words, words, words.’)  
  2. ['Words', 'words', 'words', '']  

括號‘()’在pattern內有特殊作用,請查手冊

4:findall( pattern, string[, flags])比較常用,從string內查找不重疊的符合pattern正則表達式的表達式,然后返回list列表

5:sub( pattern, repl, string[, count])repl可以時候字符串,也可以式函數當repl是字符串的時候,就是把string 內符合pattern的子串,用repl替換了當repl是函數的時候,對每一個在string內的,不重疊的,匹配pattern的子串,調用repl(substring),然后用返回值替換

  1. substringre.sub(r’def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):’,  
  2. … r’static PyObject*\npy_\1(void)\n{‘,  
  3. … ‘def myfunc():’)  
  4. ’static PyObject*\npy_myfunc(void)\n{‘  
  5. >>> def dashrepl(matchobj):  
  6. … if matchobj.group(0) == ‘-’: return ‘ ‘  
  7. … else: return ‘-’  
  8. >>> re.sub(‘-{1,2}’, dashrepl, ‘pro—-gram-files’)  
  9. ‘pro–gram files’  
  10.  

二:re的幾個函數產生方式

通過 re.compile(pattern,[flags])回match( string[, pos[, endpos]]) ;返回string[pos,endpos]匹配pattern的MatchObject

  1. split( string[, maxsplit = 0])  
  2. findall( string[, pos[, endpos]])  
  3. sub( repl, string[, count = 0])  

這幾個函數和re模塊內的相同,只不過是調用形式有點差別re.幾個函數和 正則表達式對象的幾個函數,功能相同,但同一程序如果多次用的這些函數功能,正則表達式對象的幾個函數效率高些#p#

三:matchobject

通過 re.match(……) 和 re.compile(……).match返回該對象有如下方法和屬性:

方法:

  1. group( [group1, ...])  
  2. groups( [default])  
  3. groupdict( [default])  
  4. start( [group])  
  5. end( [group])   
  6.  

的***方法,就是舉個例子

  1. matchObj = re.compile(r”(?P\d+)\.(\d*)”)  
  2. m = matchObj.match(‘3.14sss’)  
  3. #m = re.match(r”(?P\d+)\.(\d*)”, ‘3.14sss’)  
  4.  
  5. print m.group()  
  6. print m.group(0)  
  7. print m.group(1)  
  8. print m.group(2)  
  9. print m.group(1,2)  
  10.  
  11. print m.group(0,1,2)  
  12. print m.groups()  
  13. print m.groupdict()  
  14.  
  15. print m.start(2)  
  16. print m.string  
  17.  

輸出如下:

  1. 3.14  
  2. 3.14  
  3. 3  
  4. 14  
  5. (‘3′, ‘14′)  
  6. (‘3.14′, ‘3′, ‘14′)  
  7. (‘3′, ‘14′)  
  8. {‘int’: ‘3′}  
  9. 2  
  10. 3.14sss  

所以group() 和group(0)返回,匹配的整個表達式的字符串
另外group(i) 就是python正則表達式中用第i個“()” 括起來的匹配內容
(‘3.14′, ‘3′, ‘14′)最能說明問題了。

以上的文章就是我們對其的相關介紹,希望大家有所收獲。

【編輯推薦】

  1. Python編程語言在未來的發展趨勢
  2. Python多線程具體運用的方法
  3. Python編程語言的發展歷程介紹
  4. Python編程語言在網站開發中的妙用
  5. Python編程語言與Zpoe之間不解的情緣
責任編輯:佚名 來源: 電子工業出版社
相關推薦

2011-06-16 15:40:28

正則表達式

2011-06-16 16:05:23

正則表達式

2024-09-14 09:18:14

Python正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2016-12-05 17:03:59

用法正則表達式

2010-03-25 18:25:36

Python正則表達式

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2019-12-10 10:40:57

Python正則表達式編程語言

2010-03-01 15:51:59

Python則表達式

2011-04-25 08:44:34

C#正則表達式

2010-03-18 12:40:47

python正則表達式

2022-03-28 06:19:14

正則表達式開發

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

正則表達式

2017-05-12 10:47:45

Linux正則表達式程序基礎

2009-08-14 17:52:30

C#表達式工具

2020-11-04 09:23:57

Python
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产你懂的在线观看 | 国产综合精品一区二区三区 | 欧美日韩黄 | 久久av一区二区三区 | 欧美精品被 | 亚洲欧美一区二区三区国产精品 | 麻豆视频在线免费看 | 国产高清视频 | 久久久成人免费一区二区 | 欧美爱爱视频网站 | 精品久久久久久久 | 免费av一区二区三区 | av中文字幕在线播放 | 99久久99久久精品国产片果冰 | 羞羞的视频免费观看 | 欧州一区二区 | 欧美a级网站 | 国产精品精品视频一区二区三区 | 99久久国产综合精品麻豆 | 一区二区在线看 | 国产精品美女久久久久久免费 | 精品美女视频在免费观看 | 国产精品毛片 | 免费观看一级毛片 | 日韩精品视频在线 | 中文字幕一区二区三区不卡在线 | 另类在线 | 一区二区三区中文字幕 | 欧美老妇交乱视频 | 国产精品美女 | 亚洲 中文 欧美 日韩 在线观看 | 天堂va在线观看 | 久久一区二区三区四区 | 日本中文字幕在线观看 | 久久99精品久久久久婷婷 | 亚洲男人的天堂网站 | 亚洲一区二区在线电影 | 国产一区二区精 | 91精品国产91久久久久久密臀 | 日韩伦理电影免费在线观看 | 91精品国产色综合久久 |