Ios 正则表达式:匹配到与工作流应用程序的下一次匹配
我正在尝试使用工作流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
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)