在web前端筆試中,總是會遇到這樣的筆試題:
例如: 清除一個字符串的前后的空白的字符
(一)揮刀准備功夫
正則表達式的基本語法:
1、Start
正則表達式總是以斜線起始和結束。 /.../
2 元字符 :是用於構建正則表達式的符號(用於連接字母和數字,創建高度描述性的文本模式)

1 . 匹配任何字符,換行符除外。 2 \d 匹配任何數字字符。 3 \w 匹配任何字符數字(字母或數字)字符。 4 \s 匹配空格(空格包括空白字符、tab、換行符、return/enter) 5 ^ 字符串需以模式起始。 6 $ 字符串需以模式結束。 7 | 讓模式指定一連串可供選擇的子模式。
3 限定符 :控制子模式出現於正則表達式的次數

1 * 限定符前的子模式必須出現0或多次。 2 + 限定符前的子模式必須出現1或多次。 3 ? 限定符前的子模式必須出現0或1次。 4 {n} 限定符前的子模式必須出現恰好n次。
4 字符類 以方括號圍起【】
例如:
//定義正則表達式匹配0-9
var pattern = /[0-9]/;
//定義正則表達式匹配數字0-9及字母a-z
var pattern = /[0-9a-z]/;
如果需要轉義的話,注意加上\
下面上代碼:

1 function ClearSpace(Str) 2 { 3 4 var tempStr=Str.replace(/(^\s*)|(\s*)$/g,""); 5 return tempStr; 6 } 7 console.debug((" my name is hello world! ").length); 8 console.debug(ClearSpace(" my name is hello world! ").length);
結果圖如下:
很明顯可以看到 字符串的長度減少2 因為前后的空格已經被去掉;
解析:
var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");
首先調用了JS中String的replace的方法,
這個方法有兩個參數
parm1:要替換的string或者正則表達式
Parm2:替換為的字符串,
返回值:替換后的字符串;
下面解析一下表達式:
看到分為兩部分被“|”:表示前后兩個子模可以選擇 ,個人人為可以理解為 或 的意思;
(^\s*):^ 上面已經顯示了屬於元字符中的一個 代表字符串需以模式起始。
\s 匹配空格(空格包括空白字符、tab、換行符、return/enter)
右邊的也是同樣的道理,這樣理解就ok了~~~
正則博大精深,還須一步步的走下去哇哇
以上純屬自己菜鳥的心得體會,與大家共勉,喜歡前端的小伙伴們,可以加我建的一個web前端交流群,目前就我一個群主 /(ㄒoㄒ)/~~群號:437866392