\b:单词边界/word boundary
var reg = /\bis\b/;
'He is a boy,There is a dog,Where is she'.replace(reg,'IS')
得"He IS a boy,There is a dog,Where is she"
只把第一个替换了,如果加上g,
得"He IS a boy,There IS a dog,Where IS she"
'He is a boy. Is he?'.replace(/\bis\b/g, '0')
"He 0 a boy. Is he?"
加上i之后:
'He is a boy. Is he?'.replace(/\bis\b/gi, '0')
"He 0 a boy. 0 he?"
'a1b2c3d4'.replace(/[abc]/g,'x')
"x1x2x3d4"
'a1b2c3d4'.replace(/[^abc]/g,'x')
"axbxcxxx"
'a1b2c3d4x5z6'.replace(/[a-z]/g,'O')
"O1O2O3O4O5O6"
'a1b2c3d4x5z6GHG'.replace(/[a-zA-Z]/g,'O')
"O1O2O3O4O5O6OOO"
'2016-01-01'.replace(/[0-9]/g,'A')
"AAAA-AA-AA"
'2016-01-01'.replace(/[0-9-]/g,'A')
"AAAAAAAAAA"
mulSrt = '@123\n@456\n@789';
"@123
@456
@789"
mulSrt.replace(/^@\d/g, 'X')
"X23
@456
@789"
把换行符也当成普通字符,加上m之后就告诉:当成几行处理
mulSrt.replace(/^@\d/gm, 'X')
"X23
X56
X89"
'12345678'.replace(/\d{3,6}/g, 'X')
"X78"
'12345678'.replace(/\d{3,6}?/g, 'X')
"XX78"
'a1b2c3d4'.replace(/[a-z]\d{3}/g, 'F')
"a1b2c3d4"
'a1b2c3d4'.replace(/([a-z]\d){3}/g, 'F')
"Fd4"
'ByronCasper'.replace(/Byron|Casper/g, 'X')
"XX"
'ByronsperByrCasper'.replace(/Byr(on|Ca)sper/g, 'X')
"XX"
'2016-12-21'.replace(/(\d{4})-(\d{2})-(\d{2})/g, '$2/$3/$1')
"12/21/2016"
'a2*34v7'.replace(/\w(?=\d)/g, 'X')
"X2*X4X7"
'a2*34v7'.replace(/\w(?!\d)/g, 'X')
"aX*3XvX"
var reg1 = /\w/;
undefined
var reg2 = /\w/gim;
undefined
reg1.global
false
reg1.ignoreCase
false
reg1.multiline
false
reg2.global
true
reg2.ignoreCase
true
reg2.multiline
true
//不能赋值
reg1.global = true
true
reg1.global
false