【发布时间】:2016-07-29 22:33:14
【问题描述】:
我正在尝试在众多预设问题之间匹配字符串(答案)。这些问题很混乱,但它们确实以每个问题前面的“问题:”开头。紧随其后的是“Answer”。
regex = new Regex(@"(?s)(?<=What is blah blah..Answer)(.*)(?=Question)");
这个正则表达式让我得到了正确的答案。但是过度选择了以下所有问题。
有没有办法将前瞻限制到“问题”的第一个实例?
编辑: 真实样题:
问题:土豆是用什么做的?
答案:主要来自碳水化合物(淀粉)
问题:番茄是用什么做的?
答案:不是土豆。
【问题讨论】:
-
显示一个真实的样本而不是在你的正则表达式中写“blahblah”,这将解决许多假设。 (输入字符串、所需输出、替换或仅匹配)
-
感谢您的反对票。它确实帮助我找到了答案。
-
答案是否包含换行符?如果没有,
@"Answer: (.*)"应该是你所需要的。 -
如果你不想被否决,那就努力写一个好问题,而不是像 blah blah 那样写废话。
-
“blah blah”和实际问题有什么区别?在问题的背景下,任何文本都可以使用。我不明白你们这些敏感的人,对示例文本感到不安。