繁体   English   中英

使用正则表达式分隔文本

[英]Using regex to delimit text

我正在处理一个文本文件,里面有1000多个文档。 大多数文档非常相似,以相同的布局开始和结束。 我试图将文本拆分为一个数组,并且每个项目都是一个文档:

let documents = [
  [], <- doc1
  [], <- doc2
  ....
];

为了实现这一点,我正在使用一个巨大的正则表达式,该正则表达式获取文档的总页数(我在第一页中有此信息),并接受一切=> [\\s\\S]*? <=直到最后一页。 不能很好地工作,因为某些文档可能没有最后一页,因此捕获了两个文档而不是一个。

http://regexr.com/3dk54

在这里,正则表达式捕获了两个文档,但是如果您删除Z6:0,将会看到问题。

有可能解决这个问题吗?

谢谢。

使用简单的正则表达式应该可以。 我在这里使用%start%和%end%来分隔每个文档。 用当前的定界符替换它也应该可以正常工作。

"your-whole-document-content".match (/(%start%)(.*?[\n\r]?)*?(%end%)/g)

如果分隔符使用任何特殊字符,请不要忘记对它们进行换码。

编辑

"your-whole-document-content".match (/(MINISTÉRIO)[\s\S]*?(?=,\1)/g)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM