正則一直讓人又愛又恨,因為使用正則能夠快速方便的解決一些原本很複雜的問題。而正則用的最多也就是字串的處理。他倆關係還真是有點曖昧複雜,讓人傻傻有點搞不清楚,有必要進行梳理一番。
正則常用的方法有:
1、test:pattern.test(string); 返回true or false;
2、exec:pattern.test(string);返回乙個匹配資訊的陣列,沒有匹配項返回null。
ps:同乙個字串上多次呼叫始終返回第乙個匹配資訊。只有設定了(g)全域性屬性,才會返回下乙個匹配項,直到字串末尾。
var pattern=/<(\w+)(>)/g;var se=pattern.exec(str);
var se1=pattern.exec(str);
console.log(se)
//[ "", "tt" ,">"]陣列第一項是匹配項,第二項代表第乙個捕獲項
console.log(se1)//
[ "", "rr",">" ]陣列第一項是匹配項,第二項代表第乙個捕獲項,第三項代表第二個捕獲項
字串中可以使用正則的方法:
1、match:只接受乙個引數,與呼叫pattern.exec()本質上相同,返回同乙個陣列。
var str='';
var ss=str.match(/<\w+>/); //
[ "" ]
var sss=str.match(/<\w+>/g); //
[ "", "", "", "", "", "", "" ]
2、search:只接受乙個引數,返回字串中第乙個匹配項的索引,沒有找到返回-1
var sea=str.search(/<\w+>/); //0var sea1=str.search(/<\w+\/>/);//
8
3、replace:
var text="cat bat ut dat";var re=text.replace("at","11");//
c11 bat ut dat
var re1=text.replace(/at/g,"11");//
c11 b11 ut d11
var re2=text.replace(/(.a(t))/g, "$1$2") ;//
catt batt ut datt
function
replacetext(text))
}replacetext(text);
//at 1 cat bat ut dat
//at 5 cat bat ut dat
//at 12 cat bat ut dat
//最終結果是cundefined bundefined ut dundefined
//因為函式沒有返回值,所以是undefined
4、split:可以有第二個引數,表明返回的陣列的長度
var result=text.split(/\s/);//[ "cat", "bat", "ut", "dat" ]
var result1=text.split(/\s/,2);//
[ "cat", "bat"]
詳解php中空字串和0之間的關係
x row x y row y if isset x isset y elseif empty row y empty row x else if d radius 其實我是想要 過濾掉 經緯度為空的資料,保留經度或緯度為0的資料,但發現在列印列表資料時,總是包含 經緯度為空的資料。研究了好久,才發...
字元,字串,字串處理函式的關係
字元,字串,字串處理函式的關係 include include define arra size 80 intmain printf the min is puts min return0 主要程式實現了乙個輸入五個學生姓名,按照字典順序輸出首字母排在最前面學生的姓名 在codeblock上使用與s...
java中字串陣列和字串之間的轉換
字串陣列轉為字串 1.如果是 字串陣列 轉 字串 只能通過迴圈,沒有其它方法 char data string s new string data 陣列轉換為字串string string a,b,c string stringarr string.split 注意分隔符是需要轉譯滴.如果是 abc...