簡體   English   中英

在 JavaScript RegExp 中使用數組的正確方法是什么?

[英]What's the correct way to use an array in a JavaScript RegExp?

我正在嘗試對 JavaScript 中的字符串數組使用正則表達式。

let item1 = "Low-income families";
let item2 = ["Low-income families"];
let item3 = ["Low-income families", "LatinX/Hispanic", "Children and youth", "Rural"];

let key = "Low-income families";

console.log(new RegExp(item1, 'giu').test(key) || key === '') //Prints true
console.log(new RegExp(item2, 'giu').test(key) || key === ''); //Prints true
console.log(new RegExp(item3, 'giu').test(key) || key === ''); //Prints false

我的問題是,為什么item2使用該正則表達式返回true ,而item3返回false 在數組上執行正則表達式以使item1item2item3都返回true什么?

item1item2.toString()給出相同的結果(一個字符串,在正則表達式中沒有具有特殊含義的字符,這是key的完全匹配)。

item3.toString()沒有給出與key完全匹配的字符串,也沒有給出它的子字符串。

您似乎認為將數組傳遞給RegExp構造函數將創建一個“匹配此數組中的任何項目”表達式,但它絕對不會做類似的事情

您可能希望改用item3.includes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM