正則裡「g」表示全域性(global)的意思,比如當替換字串時,如果正則不加g,則只替換一次。
str = 'hello, jack, hello, lily';第二個hello未被替換,正則reg換成「/hello/g」後則全部替換。reg = /hello/;
res = str.replace(reg, 'hi');
console.log(res); // 'hi, jack, hello, lily'
「g」還有乙個作用是它會記錄上次匹配時的位置(lastindex)。這道題如下
var reg = /abc/g;兩次test的結果分別是什麼? 相信不少人會迷惑。var str = 'abcd';
reg.test(str);
reg.test(str);
這種情況perl裡也會發生
use 5.012;對於不同的正則物件,js中會從字串重新開始,因此以下兩次輸出都是true。my $str = 'abcd';
if ($str =~ /abc/g) else
if ($str =~ /abc/g) else
reg1 = /ab/g;但perl中第二次卻是false,因為它記住了上次匹配的位置。從字元d後再去匹配ab就匹配不上了。reg2 = /cd/g;
str = 'abcd';
console.log(reg2.test(str));
console.log(reg1.test(str));
use 5.012;my $str = 'abcd';
if ($str =~ /cd/g) else
if ($str =~ /ab/g) else
一道關於 g 筆試題
正則裡 g 表示全域性 global 的意思,比如當替換字串時,如果正則不加g,則只替換一次。str hello,jack,hello,lily reg hello res str.replace reg,hi console.log res hi,jack,hello,lily 第二個hello未...
一道筆試題
看到一道筆試題,跟自己想的有點出入,就跑了下,看了看原因。我稍微改了下 include int main int argc,char argv 輸出結果 c 5 d 245 press any key to continue vc6.0 debug下的彙編 5 unsigned char a 0xa...
一道筆試題
上次去筆試的時候,有一道題,怎麼也沒做出來,當時也是很緊張,有些思路,但卻沒有做出來。有四個人要過乙個獨木橋,因為天比較黑,而且橋只能允許兩個人同時通過,並且他們只有乙個手電筒。四個人單獨同時橋的時間是1,2,5,8分鐘。問最短的時間是多少?當時我的答案 1和8,1回來,1 5,1回來,1 2 8 ...