gpt4 book ai didi

c# - .NET 正则表达式 - 如何查找具有特殊字符的术语 "surrounded"

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:28 25 4
gpt4 key购买 nike

我有以下几行:

MIAU,GD & LP
MIAU,GDMB & LP

我需要找到第一行,匹配规则:仅当“GFD”和“LP”存在时。

目前我有以下正则表达式:

new Regex(@"^(?=.*\bGD\b)(?=.*\bLP\b).*$", RegexOptions.Compiled);

它匹配两条线。如何通过忽略前后字母字符从匹配中排除第二行?

最佳答案

您需要 RegexOptions.Multiline 修饰符并在 $ 之前添加 \r? 作为多行中的 $模式与回车不匹配:

var text = "A #GFD/ LP\r\nA \"GFDSC LP ";
var pattern = @"^(?=.*\bGFD\b)(?=.*\bLP\b).*\r?$";
var result = Regex.Matches(text, pattern, RegexOptions.Multiline)
.Cast<Match>()
.Select(p => p.Value)
.ToList();
foreach (var s in result)
Console.WriteLine(s); // => A #GFD/ LP

参见 IDEONE demo

关于c# - .NET 正则表达式 - 如何查找具有特殊字符的术语 "surrounded",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070025/

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