2018 5 3 正規表示式

2021-08-19 17:19:05 字數 1278 閱讀 1015

繼續補充正規表示式 例項

#!/usr/bin/python3

import re

line = "cats are smarter than dogs";

matchobj = re.match( r'dogs', line, re.m|re.i)

if matchobj:

print ("match --> matchobj.group() : ", matchobj.group())

else:

print ("no match!!")

matchobj = re.search( r'dogs', line, re.m|re.i)

if matchobj:

print ("search --> matchobj.group() : ", matchobj.group())

else:

print ("no match!!")

輸出

no

match!!

search -->

matchobj.group() : dogs

*、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上乙個?就可以實現非貪婪或最小匹配。

例如,您可能搜尋 html 文件,以查詢括在 h1 標記內的章節標題。該文字在您的文件中如下:

chapter 1 - 介紹正規表示式h1>
貪婪:下面的表示式匹配從開始小於符號 (<) 到關閉 h1 標記的大於符號 (>) 之間的所有內容。

/<.*>/
非貪婪:如果您只需要匹配開始和結束 h1 標籤,下面的非貪婪表示式只匹配 h 1 。

/<.*?>/
如果只想匹配開始的 h1 標籤,表示式則是:

/<\w+?>/
通過在 *、+ 或 ? 限定符之後放置 ?,該表示式從」貪心」表示式轉換為」非貪心」表示式或者最小匹配。

定位符使您能夠將正規表示式固定到行首或行尾。它們還使您能夠建立這樣的正規表示式,這些正規表示式出現在乙個單詞內、在乙個單詞的開頭或者乙個單詞的結尾。

定位符用來描述字串或單詞的邊界,^ 和 $ 分別指字串的開始與結束,\b 描述單詞的前或後邊界,\b 表示非單詞邊界。

正則語法

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...