正則小技巧

2021-05-01 02:37:46 字數 621 閱讀 8135

前兩天在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...