请使用我的以下代码:
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文件?
答案 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.
}