2012年10月8日 星期一

[javascript][正則RegExp]檢查含有脫逸字元的字串是否符合

1.假設有一個變數str
str="abc?del";

2.我要用str去檢查另一個變數str2,它們都長的一樣!照理來說,沒問題才對...
str2="abc?del";
alert(str.match(str2));
但是結果卻為null


3.原來問號(?)為脫逸字元,早該想到的!那我加個反斜線總行了吧!?
str2="abc\?del";
alert(str.match(str2));
什麼!?仍是null,why???

4.花了很多時間專注在語法上debug,最後靈光一閃才想到
   原來str2的字串裡面的反斜線還需要有一個反斜線(\)去脫逸, (這樣字串才會真正有一個反斜線)
   然候到正則檢查式裡的反斜線(\)再去脫逸問號(?),才會成功
str2="abc\\?del";
alert(str.match(str2));
結果就會alert出我們要的結果:abc?del


沒有留言:

張貼留言