+-
我正在尝试分析一个字符串,该字符串包含带星号的文本:
var input = "*This is the first part*This is the second part";
我想提取星号和最后一个星号之后的文本之间的任何文本。字符串不以星号或换行符结尾。
我已经用Sprache编写了一个解析器以尝试实现此目的:
Parser<string> thingAfterStarParser = (
from open in Parse.String("*")
from rest in Parse.AnyChar.Many().Text()
select rest
);
var result = thingAfterStarParser.AtLeastOnce().Parse(input);
但是result
仅以一个元素结束,而不是两个。我认为是因为rest
一直解析到输入的末尾。
我如何告诉解析器解析直到星星或输入结束?任何帮助将非常感激!谢谢
0
投票
投票
None