gpt4 book ai didi

Javascript 正则表达式 : Ignore anything in between?

转载 作者:行者123 更新时间:2023-11-29 19:04:47 24 4
gpt4 key购买 nike

如何忽略 Javascript RegEx 之间的任何内容?

例如,我想按顺序检测所有三个词:how are you

我的正则表达式:

var pattern = /([how]+[are]+[you]+)/i;

pattern.test("howare"); //false <--- expected (correct)
pattern.test("areyou"); //false <--- expected (correct)
pattern.test("howareyou"); //true <--- expected (correct)
pattern.test(" howareyou! "); //true <--- expected (correct)
pattern.test("how are you"); //false <--- this should match!
pattern.test("how areyou "); //false <--- this should match!

但我想忽略它们之间的任何内容。

最佳答案

您只想在单词之间添加一个通配符,方法是使用

.* // 0 or more of any character

正则表达式规则默认是贪婪的,因此尝试匹配 are 将优先于 .*

但是请注意,您需要去掉方括号,因为它们目前允许匹配不应该匹配的内容。例如,它们将允许 hooooowareyou 匹配,因为方括号允许所有给定字符,而 + 表示 1 个或多个。

尝试这样的事情:

how.*are.*you

目前还不清楚您是否希望所有测试用例都通过,如果您希望通过,那么这里是这个答案的一个例子 https://regex101.com/r/aTTU5b/2

关于Javascript 正则表达式 : Ignore anything in between?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43784794/

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