我需要匹配["this"
而不是:["this"
我有这段代码:
Match match = Regex.Match(result, @"\[""(.*?)""",
RegexOptions.IgnoreCase);
while (match.Success)
{
MessageBox.Show(match.Groups[1].Value.Trim());
}
我尝试过模式@"(?!:)\[""(.*?)"""
,但它仍匹配:["this"
。什么样的模式我需要实现这个目标?
答案 0 :(得分:5)
当你想要向后看时(在字符串中向左),你正在向前看(在字符串中向右)。
请尝试@"(?<!:)\[""(.*?)"""
。
答案 1 :(得分:3)
我使用RegexBuddy(我喜欢该应用程序)设置为.NET并获得以下表达式:
@"(?<!:)\[""(.*?)"""
答案 2 :(得分:2)
当你应该做一个消极的 lookbehind 时,你做了一个负面的预测。试试这个:
Match match = Regex.Match(result, @"(?<!:)\[""(.*?)""", RegexOptions.IgnoreCase);