我是正则表达式的新手,我被琐碎的解析任务困住了;给出以下结构我需要匹配空行之间所有文本的正则表达式,所以我可以遍历匹配数组,并将每个项目解析为一个问题
id1. "question title 1"
* variant one
* variant two
* three // comment
id2. "question title 2"
+ variant one
+ two
+ three
id3. "Anoter question title"
another variant
我是正则表达式的新手,我被琐碎的解析任务困住了;给出以下结构我需要匹配空行之间所有文本的正则表达式,所以我可以遍历匹配数组,并将每个项目解析为一个问题
id1. "question title 1"
* variant one
* variant two
* three // comment
id2. "question title 2"
+ variant one
+ two
+ three
id3. "Anoter question title"
another variant
你可以使用\. ".*
这个将你. "question title 1"
作为匹配项之一。您可以从第四个字符读取到最后一个字符。
我想不出一种使用正则表达式匹配问题和答案行的方法。因为,这个正则表达式将匹配多行,\. "[\s\S]+
但它会匹配到字符串的末尾,将所有问题和答案匹配到一个字符串中。
如果我们假设答案总是以 + 或 * 开头,另一种选择是使用(\. ".*)|([\*\+].*)
这将匹配问题和答案。但是,问题和答案将是单独的匹配项。
另一种方法是使用拆分字符串,id. "
这会将您的每个问题和答案转换为另一个字符串。但是,您可能必须"
手动删除问题末尾的 。
我可以想象的另一种方法是使用^\s*$
. 这将使用空行拆分字符串,并将问题和答案作为一个单独的组提供。我希望这有帮助。