正则表达式匹配文本之间。 “和空白行

时间:2013-06-15 09:42:22

标签: javascript regex

我是regexp的新手,而且我遇到了琐碎的解析任务; 给出以下结构我需要regexp匹配空行之间的所有文本,所以我可以迭代匹配数组,并解析每个项目作为一个问题

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

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

id3. "Anoter question title"
another variant

1 个答案:

答案 0 :(得分:1)

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

我无法找到使用正则表达式匹配问答行的方法。因为,这个正则表达式将匹配除\. "[\s\S]+之外的多行,但它将匹配到字符串的末尾,将所有问题和答案匹配为单个字符串。

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

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

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