perl 中匹配十進位制數 d

2021-05-21 20:07:34 字數 543 閱讀 6985

11、指定選項

字元"|"指定兩個或多個選擇來匹配模式。如:/def|ghi/匹配def或ghi。

例:檢驗數字表示合法性

if ($number =~ /^-?/d+$|^-?0[xx][/da-fa-f]+$/) else

其中 ^-?/d+$ 匹配十進位制數字,^-?0[xx][/da-fa-f]+$ 匹配十六進製制數字。

肯定的和否定的預見匹配

肯定的預見匹配語法為/pattern(?=string)/,其意義為匹配後面為string的模式,相反的,(?!string)意義為匹配後面非string的模式,如:

$string = "25abc8";

$string =~ /abc(?=[0-9])/;

$matched = $&; # $&為已匹配的模式,此處為abc,而不是abc8

模式注釋

perl5中可以在模式中用?#來加注釋,如:

if ($string =~ /(?i)[a-z](?# match two or three alphabetic characters)/

十進位制數轉化為D進製數

pat b1022 輸入兩個非負10進製整數a和b 2 30 1 輸出 a b 的 d 1輸入格式 輸入在一行中依次給出 3 個整數 a b 和 d。輸出格式 輸出 a b 的 d 進製數。輸入樣例 123 456 8輸出樣例 1103思路 除基取餘法。基 就是要轉化的進製d,將十進位制數每次除以d...

C 十進位制數轉16進製制數

最近在做乙個專案,其中傳送部分需要對資料進行移位和 操作,在網上找了許久的轉換方式,結果並沒有。後來領導一句話,讓我明白了,十進位制數和16進製制數是一樣的 確實,貌似,剛來時,用c 對公司原有的專案進行維護時,增加過乙個標定功能,給傳送陣列賦的就是10進製的說。data volt 2 byte 0...

進製轉換 十進位制數轉十六進製制數

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推,十進位制...