正则表达式:与Workflow应用匹配直到下次匹配

时间:2018-07-27 18:58:56

标签: ios regex workflow

我正在尝试使用Workflow iOS应用分隔和处理文本,如下所示:

Page 1, Highlight (Yellow):
  Content: "blah blah blah"

  "blah blah blah"

Page 111, Highlight (Yellow):
  Content: "more blah"

Page 524, Note (Yellow):
  Blah blah

  Blah blah Blah

Page 6, Highlight (Yellow):
  Content: "blah"

我想通过页码分隔每个文本块,以便上面将产生4个文本块。我无法找到一种“拆分文本”的方法,因为我不能使用换行符或特定字符。

iOS上的工作流程具有一项功能,您可以在其中通过正则表达式进行分组。这似乎可行。我可以编写一个捕获“页面1”的正则表达式,但是直到下一个“页面XXX”实例我都无法弄清楚如何扩展匹配。我以为也许是这样,但它不起作用:

(Page)+ \w*[\s\S]*(?=\n.*?Page)

会喜欢任何提示或指导。


编辑:根据this reddit thread,工作流程需要ICU regex语法。这应该对其他人有帮助。

原来是答案:

(?sm)^Page.*?(?=^Page|\Z)

1 个答案:

答案 0 :(得分:0)

This should do the trick

(?s)^Page.*?(?=^Page|\Z)

(?s)使之如此.将匹配换行符

然后,它会查找以“ Page”开头的字符串,并捕获所有内容,直到下一行以“ Page”开头或最后一条记录为止。