perl 正規表示式和迴圈問題

時間 2021-07-05 06:30:01

1樓:陽光上的橋

按說這樣修改是沒有問題的,隻影響輸出的內容多少,可以用-d除錯,輸出到螢幕檢視過程,不會出現死迴圈的。

2樓:

只能說, 一般我們在 regex 中要用上變數時, 會寫成

$x =~ /\q$var\e/ ;

因為, 如果 $var 是 "abcdef" 那是沒問題的.

perl 將這句解讀為 $var =~ /abcdef/;

但如果, $var 是 "abc[d]ef" 那裡面, 那問題就有機會來了

perl 會不可預期地將你的字串先演譯, 再拿去做配對

甚至有機會將你的字串變成"可執行"的一部份.

試試以下**:

$s1 = 'a[b]c';

$s2 = 'a[b]';

print "match1" if ( $s1 =~ /$s2/ ) ;

print "match2" if ( $s1 =~ /\q$s2\e/ ) ;

但我看不出甚麼原因你的程式怎麼會跑得特別長, 因為"要跑的圈"都是一樣的長.

3樓:

$mas包含於$dif但$dif未必包含於$mas

4樓:匿名使用者

空格 ,加個chomp()試試

lua正規表示式,LUA 正規表示式

lua中修飾符 和 都表示匹配前一字元0次或多次,但 進行的是最短匹配,類似傳統正則中的非貪婪匹配,而 則是最長匹配,即貪婪匹配 由於你正則中最後一個 d 後面沒有任何東西了,那這個 進行了最短匹配,即什麼都不匹配,所以沒有捕獲到1999,而加上 後,由於有了結尾標識位,就必須匹配1999才能使整個...

正規表示式中和有什麼區別,正規表示式裡面 和 有什麼區別?

之蘿蘿蔔 最基本的意思 小括號就是括號內看成一個整體 中括號就是匹配括號內的其中一個,大括號就是匹配幾次 但是括號裡變加上其他字元就有不同意思 詳細介紹 例如 n是一個非負整數。匹配確定的n次。例如,o 不能匹配 bob 中的 o 但是能匹配 food 中的兩個o。n是一個非負整數。至少匹配n次。例...

正規表示式ddsw0,正規表示式 d d s w 0 9 d d s w 這兩個的區別是什麼呢?

亂紅齋 一個匹配有符號數,另一個匹配有符號數或無符號數。正規表示式,又稱規則表示式,是電腦科學的一個概念,這個概念最初是由unix中的工具軟體普及開的。正則表通常被用來檢索 替換那些符合某個模式 規則 的文字。正則引擎主要分為dfa nfa兩大類。許多程式設計語言都支援利用正規表示式進行字串操作。在...