gpt4 book ai didi

c# - LINQ 可以用于在字符串中搜索 Regex 表达式吗?

转载 作者:行者123 更新时间:2023-12-04 13:32:55 26 4
gpt4 key购买 nike

我有以下有效的代码,但想使用 LINQ 对其进行编辑查找是否有任何 Regex搜索字符串在目标中。

foreach (Paragraph comment in
wordDoc.MainDocumentPart.Document.Body.Descendants<Paragraph>().Where<Paragraph>(comment => comment.InnerText.Contains("cmt")))
{
//print values
}
更准确地说,我必须通过 LINQ 进行选择如果字符串以字母开头或以符号开头 -Regex适合我的情况吗?
string pattern = @"^[a-zA-Z-]+$";
Regex rg = new Regex(pattern);
请问有什么建议吗?
在此先感谢您的帮助

最佳答案

你可以。不过最好使用查询语法,如下所述:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/how-to-combine-linq-queries-with-regular-expressions
例子:

var queryMatchingFiles =  
from file in fileList
where file.Extension == ".htm"
let fileText = System.IO.File.ReadAllText(file.FullName)
let matches = searchTerm.Matches(fileText)
where matches.Count > 0
select new
{
name = file.FullName,
matchedValues = from System.Text.RegularExpressions.Match match in matches
select match.Value
};
您的模式很好,只需删除 $从最后并添加任何字符
 @"^[a-zA-Z-]+. *"

关于c# - LINQ 可以用于在字符串中搜索 Regex 表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63971693/

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