.NET Regex-如何查找术语“;被包围的“;具有特殊字符
本文关键字:包围 特殊字符 术语 何查找 Regex- 查找 NET | 更新日期: 2023-09-27 18:25:28
我有以下行:
MIAU,GD & LP
MIAU,GDMB & LP
我需要找到第一行,匹配规则是:只有当"GFD"answers"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演示