js RegExp test bug All In One
js RegExp test bug All In One
js regular expression
const regexExp = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi;
regexExp.test('bug');
// false
regexExp.test('??');
// true ?
regexExp.test('??');
// false
regexExp.test('??');
// true
regexExp.test('xxx????');
// true
regexExp.test('??');
// false ?
solution
js regexp test bug
test 缓存 bug
// note that we're using the `g` flag on the
const regex = /test/g
console.log(regex.lastIndex);
// 0
// returns true
regex.test('test123')
console.log(regex.lastIndex);
// 4
// returns false ??
regex.test('test123')
console.log(regex.lastIndex)
// 0
// returns true
regex.test('test123')
console.log(regex.lastIndex);
// 4
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
match ?
const regex = /test/g
'test123'.match(regex)
// ['test']
!!'test123'.match(regex)
//true
'txest123'.match(regex)
//null
!!'txest123'.match(regex);
//false
https://benjaminjohnson.me/regex-test-side-effects
refs
https://melvingeorge.me/blog/check-if-string-contain-emojis-javascript
?xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有??xgqfrms, 禁止转载 ???,侵权必究??!