sách gpt4 ai đã đi

javascript - /null/g.test (Hành vi biểu thức chính quy không mong muốn đối với 'null null')

In lại 作者:塔克拉玛干 更新时间:2023-11-02 20:41:51 27 4
mua khóa gpt4 Nike

var re = /null/g;

re.test('null null');
//> true

re.test('null null');
//> true

re.test('null null');
//> false

什么!?!?

我尝试在 Chrome、Firefox、Safari 中进行测试。将正则表达式与 RegExp 构造函数一起使用,但无济于事。

为什么会这样?

JS Bin with additional demo

1 Câu trả lời

全局正则表达式(那些使用 g 标志的)是特殊的。如果您在同一个字符串上多次调用它们,它们会搜索连续的匹配项。由于您的测试字符串恰好包含两个 vô giá trị 匹配项,因此第三次调用 RegExp#test trở lại SAI(不能连续第三次匹配发现)。

要解决此问题,您可以像这样放弃 g 标志:

var re = /null/

console.log(re.test('null null')) //=> true
console.log(re.test('null null')) //=> true
console.log(re.test('null null')) //=> true

关于javascript -/null/g.test ('null null' 的意外正则表达式行为),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42731218/

27 4 0
Bài viết được đề xuất: javascript - JavaScript 原型(prototype)链
Bài viết được đề xuất: Android 开发 - 回调 URL 无效... (0_o)
Bài viết được đề xuất: android - Android 中多线程服务的需求/优势是什么
Bài viết được đề xuất: javascript - 带有特殊字符的坏词过滤器
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com