Js正则表达式字符集包括“”或“”

Js regex character set including " " or ""

我想看看x后面有没有y 我的代码:

let STR = "x y"
console.log(/xy/g.test(STR) || /x y/g.test(STR))

这是有效的,但为了使代码更好,我想将 /xy/g/x y/g 结合起来以获得一个正则表达式,但是如何?

您可以使用 ? 元字符测试 x 和 y 之间 space 的可选(0 次或 1 次出现):

let STR = "x y"
console.log(/x( )?y/g.test(STR))

如果您打算测试任意数量的 space,请使用 * 而不是 ?

const isValid = str => /x\s?y/g.test(str);

console.log( isValid('x y') );
console.log( isValid('xy') );
console.log( isValid('xzy') );

如果要考虑1+空格:\s*