JavaScript中的正則表達式基礎問題
字面量var?reg?=?/\bis\b/g;
'He?is?a?boy.Is?he?'.replace(reg,'IS')
構造函數var?reg?=?new?RegExp('\\bisb\\','g');
'He?is?a?boy.Is?he?'.replace(reg,'IS')
直接使用'He?is?a?boy.Is?he?'.replace(/\bis\b/g,'IS')
求教:1、為何/\啥的每句表達方式都不一樣(\\還有/\)
2、構造函數中的=?new?RegExp是啥
2016-11-15
/ /這個標志是起始與結尾符,劃定表達式范圍的,\b表示的是單詞邊界,而/ \是兩個符號,不是一對的。'He?is?a?boy.Is?he?'.replace(/\bis\b/g,'IS'),這句的意思是將這句話中的單詞is換成IS,運行結果是'He IS a?boy.Is?he?',而Is不會改變因為不匹配。var?reg?=?new?RegExp('\\bisb\\','g');這個意思是新建一個正則表達式對象,并對它進行構造(理解成賦值)。
2016-11-15
其實就是Javascript正則表達式對象定義的兩種方法:1、正則表達式字面量方法:var reg = /patterns/flag;2、RegExp構造函數方法:var reg = new RegExp();接受兩個字符串參數,此外需要注意雙重轉義 ?具體內容建議你看看JavaScript高級程序設計103-109頁,屬于基礎概念吧