看板 Perl 關於我們 聯絡資訊
下面函式功能是丟進id會回傳1,否則回傳0 id的定義是開頭字母是大小寫英文或是底線'_'或是錢字號'$' sub isIdentifier{ my $input; $input = $_[0]; if($input =~ /^[A-Za-z_$][A-Za-z_0-9]*/){ return 1;} else{ return 0;} } 但我再代入"123ma"之類的開頭為數字(123)非id的東西進去 還是回傳1... my $temp = "123ma"; print (&isIdentifier($temp)); 請問到底是哪裡寫錯了.... 我被這bug搞了一整個下午跟晚上 麻煩高手前輩們幫我解個惑 謝謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.20.204
CCWck:$前面要加一個\ 06/29 00:09
CCWck:"$"Matches the end of the string, unless /m is used. 06/29 00:09
bwtalk:不好意思 請問是哪個$前面要加上\ 06/29 02:07
flu:黃色字那串 被[]夾著的那個 06/29 02:08
flu:另外黃色字那串如果改成 /^[A-Za-z_$]/ 就會看到錯誤訊息產生 06/29 02:15
bwtalk:感謝FLU大!!! 06/29 02:20