關於m g的問題

2021-05-24 12:51:47 字數 875 閱讀 2265

今天討論一下m//g乙個的小問題。m//g表示在字串中查詢所有可能出現的模式匹配。在標量環境下,m//g會依次查詢每個出現的匹配。通常的用法是這樣的:

while (/(pattern)/g)
在內部,m//g會儲存乙個「匹配位置」的變數,表示這次的m//g匹配到了什麼位置,以便下次執行時從該處繼續開始。(這個位置可以通過pos函式獲得,這裡就不多說了。)通常,用在while迴圈裡是沒有任何問題的,但如果換成if會怎樣?

$_ = "abc";

print "a" if /a/g;

print "b" if /b/g;

# 輸出結果:ab

結果是正確的。如果將語句換個位置呢?

$_ = "abc";

print "b" if /b/g;

print "a" if /a/g;

# 輸出結果:b

可見,第二次的模式 a 沒有匹配。其實可以想到,第一次的m/b/g匹配後,匹配位置已經指向了字串中的下乙個位置c,第二行的m/a/g繼續從c開始匹配,當然不會匹配到任何東西。

借用一下《精通正規表示式》第7章對於match運算子的說明:

匹配型別    嘗試開始位置                   匹配成功時的pos值           匹配失敗時的pos值

m/.../         字串起始位置(忽略pos)       重置為undef                重置為undef

m/.../g       字串的pos位置              匹配結束位置的偏移值            重置為undef

m/.../gc      字串的pos位置              匹配結束位置的偏移值                不變

MG動畫的應用價值

mg動畫在當下的多 領域無處不在,其簡潔 生動 有趣且具備的包容性和互動性,比平面設計中的靜態文字 影象和圖形的表現形式更具優勢。與枯燥的文字和敘事相比,mg動畫色彩豐富的生動畫面 動態的特效和生動的解說,非常適合產品特性和功能的表現,這也幫助觀眾更好地去理解產品。在商業活動中,動態 以豐富的圖形動...

細說MG動畫的設計特點

mg動畫也叫圖形動畫,簡單來說mg動畫就是會動的圖形設計,隨著設計軟體以及網路的快速發展,mg動畫逐漸成為一種常見的動畫藝術,在影視片頭 mv 企業宣傳片 廣告等領域,都能發現它的身影,那麼mg動畫又有哪些特點呢?1.簡潔 在資訊化時代,要想讓自己的資訊內容脫穎而出,改變傳統冗長的宣傳形式,並在短時...

如何分辨MG動畫製作公司的好壞?

如何分辨mg動畫製作公司的好壞?1.首先要有可靠的文案。文案是mg動畫的重要組成部分,在mg動畫中起到傳達重要資訊 強化主題的重要作用。文案質量會直接影響整個mg動畫的質量。因此,可靠的副本至關重要。接下來我們就從副本的具體作用來看如何寫出乙個可靠的mg動畫副本。功能一 彌補的不足,補充資訊。mg動...