捕获搜索匹配的术语到变量并链接到其他文档

时间:2015-08-06 17:29:30

标签: javascript regex pdf

请使用我的以下代码:

var pdf_files=["a1.pdf","a2.pdf","a3.pdf"];
for(k=0;k<pdf_files.length;k++)
{
    app.Open("/C/mySource/"+pdf_files[k]); //open the respective file

    for(var i=0;i<this.numPages;i++)
    {
        //loop through the entire document
        numWords=this.getPageNumWords(i);
        var WordString="";

        for(var j=0;j<numWords;j++)
        {
            WordString=WordString+" "+this.getPageNthWord(i,j);
        }

        if(WordString.match(/[0-9][0-9]-[0-9][0-9][0-9][0-9] FIG [0-9]+/)) //regular expression to match a string like "24-50-44 FIG 11"
        {
            search.matchWholeWord=true;
            var myMatch=search.query(WordString.match(/[0-9][0-9]-[0-9][0-9][0-9][0-9] FIG [0-9]+/),"ActiveDoc");
            console.println(myMatch);
        }
    }
}

我面临的问题是: 我打开一个pdf文件,按正则表达式搜索特定字符串。在成功搜索时,我试图将匹配的字符串显示在控制台上。但这不会发生。在这方面我需要你的建议。 请告诉我是否可以在变量中存储匹配的字符串,是否可以将匹配的字符串链接到另一个.pdf文件?

1 个答案:

答案 0 :(得分:0)

您必须使用正则表达式捕获组来捕获所需的内容。你可以使用这个正则表达式:

([0-9]{2}-[0-9]{4} FIG [0-9]+)

使用这样的代码:

var re = /([0-9]{2}-[0-9]{4} FIG [0-9]+)/g; 
var str = 'YOUR TEXT';
var m;

while ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}