[英]Using regex to delimit text
我正在处理一个文本文件,里面有1000多个文档。 大多数文档非常相似,以相同的布局开始和结束。 我试图将文本拆分为一个数组,并且每个项目都是一个文档:
let documents = [
[], <- doc1
[], <- doc2
....
];
为了实现这一点,我正在使用一个巨大的正则表达式,该正则表达式获取文档的总页数(我在第一页中有此信息),并接受一切=> [\\s\\S]*?
<=直到最后一页。 不能很好地工作,因为某些文档可能没有最后一页,因此捕获了两个文档而不是一个。
在这里,正则表达式捕获了两个文档,但是如果您删除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.