原文:
1、有字串"sjdkfljsdlkfsdkfsdklf",請使用效率最高的方法讀取次數最多的字元,返回這個字元和個數
var str = "sjdkfljsdlkfsdkfsdklf";
//將字串按字母順序公升序排序
var new_str = str.split("").sort().join("");
var num = -1; //
定義乙個變數儲存最多字元的次數
varchar = null;//
定義乙個變數儲存最多出現的字元
var reg = /(\w)\1 /g; //
當連續的字元相同時,\1 會讓正規表示式不斷的去擷取,直到遇到不同的字元,然後把相同的字串傳遞給替換函式的第乙個引數,把單個字元值傳給第二個引數
new_str.replace(reg,function
(param1, param2)
});console.log(
char " : " num); //
說明:該正規表示式主要考察了\1 的語法。
2、將字串grandfather 轉換成grand_father; grandfathermom 轉換成grand_father_mom
var result = "grandfather ".replace(/[a-z]/g, function($1));
console.log(result);
//輸出grand_father
var result2 = "grandfathermom".replace(/[a-z]/g, function($1));
console.log(result2);
//輸出grand_father_mom
/*
*字元的一些替換操作效率最高的是使用正規表示式,str.replace是我們做該類操作會用到的非常重要的函式,因此,深入了解replace的特性會對我們有很大幫助:
*replace使用總結如下:
* * 字元替換,需要使用replace函式
* a.當replace函式第二引數是函式時
* 1).則該函式的第乙個引數即是正規表示式匹配到的值(當正規表示式帶有g這個屬性時,則第二個函式會根據找到的結果迴圈遍歷)
* 2).函式返回值會替換到新的字串中
* 3).返回的字串並不修改原始字串
* 4).第二個函式會有三個引數,第乙個引數是匹配內容本身,第二個引數是匹配內容在字串中的位置,第三個引數是原始字串
* * b.當replace第二個引數是字串時,只有使用$1,$2才能訪問正則裡的子表示式內容
* * 了解了以上細節,相信我們在去做相關字串替換操作時會好處理很多了。
*/
正規表示式學習
概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...
正規表示式學習
1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...
正規表示式學習
只是點皮毛,先湊合用著了,順便鄙視一下sqlserver,居然不支援正則。b 元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。d 數字 s 任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...