gpt4 book ai didi

javascript - 在 JavaScript/TypeScript 中检测字符串中的模式

转载 作者:行者123 更新时间:2023-12-02 22:58:53 25 4
gpt4 key购买 nike

给定用户的模式,例如[h][a-z][gho]和字符串“gkfhxhk”我试图看看是否字符串包含模式。

该模式意味着第一个字母是'h',下一个字母可以是a-z中的任何字母,第三个字母可以是 'g''h''o'。这应该适用于任何模式。因此另一个模式可能是[y][b-f][jm]

首先,我尝试使用嵌套的 for 循环来创建所有可能字符串的列表,但这不起作用。然后我尝试使用 RegExp 传递模式,但我不太确定我是否以正确的方式实现这一点:

let string = "gkfhxhk";
// pattern [h][a-z][gho]

let re = new RegExp('ha-zg|h');

let result = re.match(re);

这只会在结果中返回一个null。关于如何做到这一点有什么想法吗?

最佳答案

这正是正则表达式旨在解决的问题类型。你的语法是错误的。 This site是学习正则表达式的绝佳资源。对于这个具体示例,您想要的模式是 h[a-z][gho]。 ([h][a-z][gho] 形式也可以,但是 h 两边的括号是不必要的。)在 JavaScript 中,正则表达式模式是一种特殊的文字,用 // 而不是 "" 编写。

var re = /h[a-z][gho]/;

var str1 = "gkfhxhk";

var str2 = "gkajflh";

console.log(str1.match(re));

console.log(str2.match(re));

请注意,match 返回匹配列表,而不是简单的真/假值。当没有匹配项时,它返回 null

关于javascript - 在 JavaScript/TypeScript 中检测字符串中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57859270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com