【发布时间】:2016-06-08 14:54:45
【问题描述】:
我正在处理包含多个文件的巨型文本文件 里面的文件。这些文档具有非常相似的界面,具有固定的字段 和动态值。我需要将这些文档分隔成数组。
例子:
[
[] <- Doc1
[] <- Doc2
[] <- Doc3
[] <- Doc4
...
...
...
]
为此,我需要创建一个正则表达式来定义分隔符、文档的开始位置和结束位置。
例子:
DOC_START
TEXT
TEXT
TEXT
TEXT
DOC_FINAL
DOC_START
TEXT
TEXT
TEXT
TEXT
DOC_FINAL
正则表达式:((?:DOC_START)(?:[\S\S]+)(?:DOC_FINAL)?)
问题是:有些文档可能有特殊性,开始或结束时有点不同,所以我需要能够传递开始和结束选项。
我的问题:我该怎么做?以及如何改进正则表达式?
为了清楚起见,有时,文档的开头或结尾可能有点不同。示例:
DOC_START
TEXT
TEXT
TEXT
TEXT
DOC_FINAL
DOC_START
TEXT
TEXT
TEXT
TEXT
DOC_FINAL
OTHER_START
TEXT
TEXT
TEXT
TEXT
DOC_FINAL
DOC_START
TEXT
TEXT
TEXT
TEXT
OTHER_FINAL
OTHER_START
TEXT
TEXT
TEXT
TEXT
OTHER_FINAL
【问题讨论】:
-
只是备注,不是解决方案:您的表达式可能是
[\s\S]+?- 请注意小写的\s和惰性运算符 (+?)。
标签: javascript regex