溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

正則表達式中的{ } () [] 及re.match re.search

發布時間:2020-06-13 15:44:11 來源:網絡 閱讀:1874 作者:蔡亞茹 欄目:軟件技術


1.正則表達式相關說明

() 是為了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串。

(\s*)表示連續空格的字符串。

(\d*)表示連續的數字,與[0-9]+類似

[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數字。[\s*]表示空格或者*號。

{}一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s[1,3]表示匹配一到三個空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數字(注意后面有 *,可以為空)[0-9]+ 匹配數字(注意后面有 +,不可以為空){1-9} 寫法錯誤。

[0-9]{0,9} 表示長度為 0 到 9 的數字字符串

關于[]* 與[]+的示例:

[]*可以返回控制,即可以找不到值,但是[0-9]+不可以為空,如果為空返回錯誤

>>> c='GET /diviner?pin=1123066825_m&p='
>>> r=re.search('p=([0-9]+)',c)
>>> print r.group(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>> print r
None
>>> r=re.search('p=([0-9]*)',c)
>>> print r.group(1)


----此處返回為空

2.re mathc search說明

match()函數只檢測RE是不是在string的開始位置匹配,

search()會掃描整個string查找匹配;

>>> a='123aaabcabcabc'
>>> import re
>>> re.search('abc',a)
<_sre.SRE_Match object at 0x7fd7534184a8>
>>> re.mathc('abc',a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'mathc'
>>> re.match('abc',a)
>>> b=re.match('abc',a)
>>> print b
None
>>> b=re.match('1',a)
>>> pint b
  File "<stdin>", line 1
    pint b
         ^
SyntaxError: invalid syntax
>>> print b
<_sre.SRE_Match object at 0x7fd7534188b8>

()在對于group groups的作用---主要起到分組的作用

>>> c='GET /diviner?pin=1123066825_m&p=61234'
>>> r=re.search('p=((\d*))',c)
>>> print c.group(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'group'
>>> print r.group(0)
p=61234
>>> r=re.search('p=((\d*))',c)
>>> r=re.search('p=([0-9]*)',c)
>>> r=re.search('p=[0-9]*',c)
>>> print r.group
<built-in method group of _sre.SRE_Match object at 0x7fd7534189f0>
>>> print r.group(0)
p=61234
>>> print r.group(1)---無括號無分組
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: no such group
>>> r=re.search('p=([0-9]*)',c)
>>> print r.group(1)
61234

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女