gpt4 book ai didi

c# - 验证一个字符串是否包含一些确切的词

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:16 26 4
gpt4 key购买 nike

我有一个看起来像这样的字符串

string myString = "Master Language=\"C#\" MasterPageFile=\"~/masterpages/Libraries.master\"";
  1. 我需要验证它包含的单词 Master 和 Language="C#"
  2. 我不能总是保证 Master 和 Language 这两个词会像这样放置,因此 Contains("Master Language") 这样的东西不会做

我一直在尝试 regex.IsMatch 有一段时间没有任何结果,所以如果有人能帮助我,我将不胜感激!

最佳答案

由于您需要以任意顺序查找单词的出现次数,因此可以使用以下模式:

string pattern = @"^(?=.*\bMaster\b)(?=.*Language=""C#"").+$";

这使用正环视来检查 MasterLanguage="C#" 是否存在。请注意单词边界元字符 \b 的使用,它确保“Master”是完全匹配的。这确保不会出现“MasterPage”中的部分匹配。

例子:

string[] inputs = 
{
"Master Language=\"C#\" MasterPageFile=\"~/masterpages/Libraries.master\"", // true
"Language=\"C#\" MasterPageFile=\"~/masterpages/Libraries.master\" Master", // true
"Language=\"C#\" MasterPageFile=\"~/masterpages/Libraries.master\"" // false
};

string pattern = @"^(?=.*\bMaster\b)(?=.*Language=""C#"").+$";

foreach (var input in inputs)
{
Console.WriteLine(Regex.IsMatch(input, pattern));
}

关于c# - 验证一个字符串是否包含一些确切的词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400844/

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