使用extendscript的以下模式的正则表达式

时间:2017-07-15 03:11:28

标签: regex grep adobe-indesign extendscript

我有一组InDesign文档,其中包含以下格式的记录 -

{item_id}. {item_text} [{tags}] (options)  
{item_id}. {item_text} [{tags}] (options)  
{item_id}. {item_text} [{tags}] (options)

其中item_id是整数id, item_text由(多行文本块)组成, 标签由单行文本块组成,标签在记录中是可选的,即它们可能存在或不存在。

所以,现在选择1组项目(包括id,text,tags,options)我正在尝试以下正则表达式:

item = '(([0-9])+\\.\\s+)(\\s|.|\\r)*?(?=[0-9]+\\.\\s)'  
item_text = '[0-9]+\\.\\s+((.|\\r|\\s)*)*?(?=\\[(.)*\\])'  
tags = '\\[((.)*)\\]' 

这里,我们在item_text中提取组1,标记正则表达式以获取所需数据。

所以,现在有了这个,我能够正确获得前n-1条记录,但最后一条记录没有被选中 因为它无法为最后一条记录找到以下id块,即项目的正则表达式的这一部分 - (?= [0-9] + \。\ s)

有人可以建议一个更好的正则表达式来捕获所有这些记录,包括最后一个。 [我们在forDesign脚本的extendcript中使用这些regexp,因此在应用程序中可以获得对Positive,Negative Lookbehinds,Lookaheads的支持。]

0 个答案:

没有答案