gpt4 book ai didi

regex - 匹配任何字序正则表达式的字符串

转载 作者:行者123 更新时间:2023-12-04 17:01:01 25 4
gpt4 key购买 nike

我必须编写一些模式,这些模式将根据用户输入通过 Regex 用于匹配目的:

string pattern = "^.*overview\ of\ sales.*customer\ information.*$";
string input = "overview of sales with customer information";

有没有办法删除正则表达式中的词序?所以
string pattern = "^.*overview\ of\ sales.*customer\ information.*$";

也将匹配:
string input = "customer information with overview of sales";

这可能可以通过以相反的顺序编写每个模式来完成,但因为模式的数量很少,并且会随着时间和 *.这往往是一种乏味的方式,因此请就此问题提供指导。

最佳答案

你会想要使用 positive lookahead ?=.* .

[Positive lookahead]q(?=u)matches a q that is followed by a u, without making the u part of the match. The positive lookahead construct is a pair of parentheses, with the opening parenthesis followed by a question mark and an equals sign.



在这种情况下,可以使用正向前瞻以任何顺序匹配一组模式,如下所示:
(?=.*customer)(?=.*information)(?=.*with)(?=.*overview)(?=.*of)(?=.*sales)
Regular expression visualization

Debuggex Demo Here

要修改,只需添加、编辑或删除您认为合适的单词。

编辑

在这里找到了一个解释相同概念的问题: https://stackoverflow.com/a/3533526/2081889

关于regex - 匹配任何字序正则表达式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19896324/

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