0

我是正则表达式的新手,我被琐碎的解析任务困住了;给出以下结构我需要匹配空行之间所有文本的正则表达式,所以我可以遍历匹配数组,并将每个项目解析为一个问题

id1. "question title 1"
* variant one
* variant two
* three // comment

id2. "question title 2"
+ variant one
+ two
+ three

id3. "Anoter question title"
another variant
4

1 回答 1

1

你可以使用\. ".*这个将你. "question title 1"作为匹配项之一。您可以从第四个字符读取到最后一个字符。

我想不出一种使用正则表达式匹配问题和答案行的方法。因为,这个正则表达式将匹配多行,\. "[\s\S]+但它会匹配到字符串的末尾,将所有问题和答案匹配到一个字符串中。

如果我们假设答案总是以 + 或 * 开头,另一种选择是使用(\. ".*)|([\*\+].*)这将匹配问题和答案。但是,问题和答案将是单独的匹配项。

另一种方法是使用拆分字符串,id. "这会将您的每个问题和答案转换为另一个字符串。但是,您可能必须"手动删除问题末尾的 。

我可以想象的另一种方法是使用^\s*$. 这将使用空行拆分字符串,并将问题和答案作为一个单独的组提供。我希望这有帮助。

于 2013-06-15T09:49:23.703 回答