使用子表示式

2022-07-29 09:21:09 字數 2037 閱讀 8550

1、子表示式

子表示式是乙個更大的表示式的一部分,把乙個表示式劃分為一系列表示式的目的是為了把那些表示式當作乙個獨立元素來使用。子表示式必須用(和)括起來。

注意:(和)是元字元,如果需要匹配(和)本身,就必須使用它的轉義序列\(和\)  。子表示式是可以提高可讀性,對表示式的實際行為也沒有任何不良影響,但對匹配操作的速度可能會有點兒影響。

hello,my name is ben forta,and i am the author of books on sql ,coldfusion,wap,windows  2000,and other subjects.

正規表示式  

匹配結果 無

本意是希望它能匹配 連續兩次或更多次。因為緊跟著它的前乙個字元,那就是也分號。

要想匹配  ,則要把 當作乙個表示式。

hello,my name is ben forta,and i am the author of books on sql ,coldfusion,wap,windows  2000,and other subjects.

正規表示式 ( )

匹配結果

( )就是乙個子表示式。( )實現匹配
pinging hog.forta.com [12.159.46.200] with 32bytes of data;

正規表示式 \d\.\d\.\d\.\d

匹配結果 12.159.46.200正規表示式 (\d\.)\d

匹配結果 12.159.46.200

(和)把表示式\d\.括起來使它成為了乙個子表示式,再用(\d\.)把這個子表示式重複3次

1967-08-10正規表示式 19|20\d

匹配結果 19

這個模式裡|字元是正規表示式語言裡的或操作符。19|20將匹配19或20

19|20\d應該匹配以19或20開頭的4位數字,可是這個模式的匹配結果與我們預期的並不相符。因為它會把模式19|20\d解析成19或20\d

1967-08-10正規表示式  (19|20)\d

匹配結果 1967

(19|20)就是乙個子表示式,意思:以19或20開頭的乙個4位數字

2、子表示式的巢狀

子表示式允許多重巢狀,這種巢狀的層次理論上沒有限制,但在實際工作中還是應該遵循適可而止的原則。

上面的ip正規表示式(\d\.)\d,從語法上講,它完全正確。但是也能匹配不合法的ip位址。比如900.123.456.589

ip位址由4個位元組構成,ip位址每組數字取值範圍也就是單個位元組的表示範圍,即0~255,這意味著每一組數字都不能大於255。

注意:把必須匹配的情況考慮周全並寫出乙個匹配結果符合預期的正規表示式很容易,但把不需要匹配的情況也考慮周全並確保他們都將被排除在匹配結果以外往往要困難得多。

在構造乙個正規表示式的時候,一定要把你想匹配什麼和你不想匹配什麼詳盡的定義清楚。下面是乙個合法的ip位址裡的各組數字必須且只能符合的規則,我們隨後根據這些規則來構造乙個相應的模式。

1.任何乙個1位或2位數字

2.任何乙個以1開頭的3位數字

3.任何乙個以2開頭、第二位數字在0~4之間的3位數字

4.任何乙個以25開頭、第3位數字在0~5之間的3位數字

(((\d)|(1\d)|(2[0-4]\d)|(25[0-5]))\.)((\d)|(1\d)|(2[0-4]\d)|(25[0-5]))

(\d)匹配範圍0~99

(1\d)匹配範圍100~199
(2[0-4]\d)匹配範圍200~249
(25[0-5])匹配範圍250~255

上面的ip正規表示式準確無誤地做到了只匹配合法的ip位址、不匹配非法的ip位址。

在分析子表示式的時候,應該按照先內後外的原則來進行而不是從第乙個字元開始乙個字元乙個字元地去嘗試。而應該把表示式分解為乙個個子表示式,每次只分析和理解乙個子表示式。

正規表示式 二 子表示式及反向引用

1.子表示式 子表示式通常作為更長的表示式的一部分,子表示式可以作為單一的實體來使用。子表示式由 來定義。前文說過,表示重複次數的元字元只能作用於緊挨著它的前乙個字元,引入子表示式之後,就可以讓子表示式作為乙個整體重複多次。python和hive中都有語法幫助我們提取出子表示式匹配的內容。pytho...

拉姆達表示式 資源 能量子表示式hv怎麼念?

教育部 停課不停教 不停學 既是戰疫情應急之舉,也是網際網路 教育的重要成果應用展示,任務艱鉅,使命光榮。不知不覺中,老師變主播已經兩個多月了。高二學生普遍進入選修3 5的學習。第17章 波粒二象性 有乙個蒲朗克能量子表示式 hv,公式中的那幾個字母到底怎麼念?估計是很多理科生頗為糾結的問題。今天作...

表示式 表示式樹 表示式求值

總時間限制 1000ms 記憶體限制 65535kb 描述 眾所周知,任何乙個表示式,都可以用一棵表示式樹來表示。例如,表示式a b c,可以表示為如下的表示式樹 a b c 現在,給你乙個中綴表示式,這個中綴表示式用變數來表示 不含數字 請你將這個中綴表示式用表示式二叉樹的形式輸出出來。輸入輸入分...