javascript 如何过滤不完全匹配的字符串?

uqzxnwby  于 2022-12-17  发布在  Java
关注(0)|答案(2)|浏览(122)

我想过滤不完全符合的字符串(我删除了空格)

With string.includes()
'videocardgigabytegeforce3070'.includes('videocardgigabyte') return true
'videocardgigabytegeforce3070'.includes('videocardgeforce') return false

我想第二种情况下也返回真,如果你有一个函数或正则表达式的解决方案,我会很感激

o7jaxewo

o7jaxewo1#

const str = 'videocardgigabytegeforce3070';

const regex = /videocard.*geforce/;
const result = regex.test(str);

console.log(result); // true

const str = 'videocardgigabytegeforce3070';

const regex = /videocard.*geforce/;
const result = str.match(regex);

if (result && result.length > 0) {
  console.log(true); // true
} else {
  console.log(false);
}
uqdfh47h

uqdfh47h2#

若要获得所描述的行为,可以将正则表达式与test方法一起使用。
下面是一个使用正则表达式的示例,该表达式将匹配字符串“videocard”后跟“gigabyte”或“geforce”:

const string = 'videocardgigabytegeforce3070';
const regex = /videocard(gigabyte|geforce)/;
console.log(regex.test(string));  // true

正则表达式/videocard(千兆字节|geforce)/使用带有|字符(称为“管道”)匹配“gigabyte”或“geforce”。如果正则表达式匹配字符串的任何部分,则测试方法返回true,否则返回false。

相关问题