Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 正则表达式:匹配到与工作流应用程序的下一次匹配_Ios_Regex_Workflow - Fatal编程技术网

Ios 正则表达式:匹配到与工作流应用程序的下一次匹配

Ios 正则表达式:匹配到与工作流应用程序的下一次匹配,ios,regex,workflow,Ios,Regex,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): Co

我正在尝试使用工作流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)
我想要任何提示或指导


编辑:根据,工作流需要ICU正则表达式语法。这应该对其他人有所帮助

这就是答案:

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

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

(?s)
使
与新行字符匹配


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

谢谢您的帮助!不幸的是,这并没有导致一场比赛。可能工作流不接受
(?s)
?(Regexr.com也不支持)。swift或objective C似乎不支持这一点(我假设您正在使用)。试试这个。好的,它看起来像工作流使用的,所以第一个表达式主要起作用。出于某种原因,只有当我把两个爱抚都拿出来时,它才会起作用。有了插入符号,什么都没有。但如果没有它们,效果会很好。如果你知道原因,我希望能得到进一步的帮助。但如果不是这样的话,这也很有效。谢谢@emsimpson92。哎哟,看起来这很有效,包括插入符号和所有:
(?sm)^Page.*(?=^Page |\Z)