1. 程式人生 > >正則練習例子

正則練習例子

第一題:查詢“asdfjvjadsffvaadfkfasaffdsasdffadsafafsafdadsfaafd,該字串中有多少個af”

var string='afafafafafafafafadddddaf'
console.log(string.match(/af/gi).length)

第二題:輸入任意一個字串,如:“abDEe23dJfd343dPOddfe4CdD5ccv!23rr”。取出該字串中所有的字母。順序不能改變!並把大寫字母變成小寫,小寫字母變成大寫!

var ss='Wdl1325dler'
var cc=ss.match(/[a-zA-Z]/g)
var dd=[];
for
(var i=0; i<cc.length;i++){ if(new RegExp(/[A-Z]/).test(cc[i])) { dd.push(cc[i].toLowerCase()) console.log(132424) } else{ dd.push(cc[i].toUpperCase()) } } console.log(dd.toString())

第三題:寫一個程式可以對兩個字串進行測試,得知第一個字串是否包含在第二個字串中。如字串”PEN”包含在字串“INDEPENDENT”中

var first='1789asdfg'
var
two='15153263ew1789asdfg437hheueu' var reg=new RegExp(first,'g'); console.log(reg.test(two))

第三題主要是寫變數在正則中的使用

第四題:篩選出‘<H1>1234</H1>‘中的1234

 var b='<h1>1234</h1>'
 var a=b.match(/<[^>]+>/g)
 alert(a);

第五題移除空格

//移除字串中的空格
var EmptyCells=' s g g uuu ';
console.log(EmptyCells);
console
.log(EmptyCells.replace(/\s/g,'')); //只移除2側的空格 console.log(EmptyCells.replace(/^\s|\s$/g,'')+'1313');

第六題

//只能輸入數字或小數點
var dotReg=new RegExp(/^\d+[^a-zA-Z]\.?/);
console.log(dotReg.test('1.00')+'是否為數字或小數點')

第七題:

//替換小數點前的內容為指定內容
var oReplace='11.00';
console.log(oReplace.replace(/\w+\./g,'wdl'))

第八題;

//只匹配中文的正則表示式
var s='王登林wdl'
console.log(s.match(/[\u4e00-\u9fa5]/g))//這個記住吧

第九題

//單詞首字母大寫
var s='tom is a good kids'
var FristLetter=(s.match(/\b(\w)|\s(\w)/gi))
console.log(FristLetter)
function replaceReg(reg,str){
  str=str.toLowerCase();
  return str.replace(reg,function(m){
    return m.toUpperCase()
  })
}
var reg=/\b(\w)|\s(\w)/g
var str='wdl yuu'
console.log(replaceReg(reg,str))
//replace 不僅僅能寫替換文字,也能寫生成替換文字的函式

第十題:

  //正則替換佔位
  var s='<ul><li>$1</li><li>$2</li><li>$3</li><li>$4</li></ul>';
  var sa=['a','b','c','d'];
  console.log(s.match(/\$\w+/gi))
  console.log(s.replace(/\$\w+/gi,function(m){
     switch (m){
        case '$1':
        return sa[0];
        case '$2':
        return sa[1];
        case '$3':
        return sa[2];
        case '$4':
        return sa[3];
     }
  }))

第十一題:

 //將阿拉伯數字替換為中文大寫
  var Chinese=['零','壹','貳','叄','肆','伍','陸','柒','捌','玖']
  var alanum='13986742313';
  var numReg=/\d/g
  console.log(alanum.replace(numReg,function(m){
    return Chinese[m]
  }))

上面例子是自己寫的答案有不足的請指出