前兩天在csdn看到這樣乙個問題:
給定一段文字的編碼序列,如604f20007d59(你 好),如何得到其對應的文字
有人給出了如下正則解決方案:
string input = "4f600020597d";
string patern = "(?<=^(.)*)(?!$)";
string output = regex.unescape(regex.replace(input, patern, @"/u"));
console.writeline(output);
這個方法不錯。
我又想到另乙個問題:
如何把乙個字串按固定長度分割呢?比如把剛才的字串按長度為4分割
最初我是這樣的:
string patern2 = "(?<=^(.)+)(?!$)";
foreach (string item in regex.split(input, patern2))
console.writeline(item);
但是一執行就發現,結果並不正確,我馬上想到了非捕獲組,不過最初沒找到合適的位置,最後幾經周折,終於成功了,**如下:
string patern3 = "(?<=^(?:.)+)(?!$)";
matlab小技巧與verilog小技巧
注釋 選中 ctrl r 取消注釋 選中 ctrl t 採用中括號,可以將兩組資料進行拼接,由於採用dec2bin是不能轉換負數的,這一點要注意了,那麼就需要表示負數的補碼形式,補碼形式很簡單,就是判斷某個數是否小於0,小於0的數就加上2的n次方,這樣既可轉換為無符號的十進位制,再將其十進位製用de...
MySQL SQL正則技巧
判斷欄位中是否包含大寫字母如果有就返回 select from t1 where name2 regexp binary a z 開頭 結尾 where name2 regexp c where name2 regexp c 查詢字段值包含字母 a t 以外的字元的記錄 where name2 re...
shell小知識小技巧
1 local config config 1,如果沒有第乙個引數,那麼config netowk 2 字串可以用 來比較 數字可以用 來比較 3 shell函式傳引數的時候,local var1 hello local var2 word 傳這兩個引數到shell函式 fun shell寫成 fu...