Использование регулярных выражений в извлечении определенных слов и предложений из 50 000 извлеченных слов с использованием Nodejs - PullRequest
0 голосов
/ 29 октября 2019

Мне дали проект, позволяющий пользователям загружать файл docx и извлекать из файла docx такие слова, как: имя, адрес электронной почты, номер телефона, адрес, род занятий и т.д., и вводить данные в <span class=name ></span>, используя только NodeJs иjavascript

Я пытался использовать регулярное выражение, но он извлекает имя, номер и т. д. с другими словами, которые напоминают имя или число.

Как я могу использовать регулярное выражение, чтобы извлечь конкретное слово или предложение мне нужно илиесть другой способ?

app.post('/upload', upload.single('cv'),(req, res, next)=>{
  var path =req.file.path
console.log(path)


mammoth.extractRawText({path: path})
.then(function(result){
     var text = result.value; 
     var text = text.trim();
     var text = text.replace(/^.+\n|^.+\r/g,"");
     var text = text.replace(/\n|\r/g," "); 
     var text = text.replace(/\s+/g,' ').trim();// The raw text
    var messages = result.messages;
    console.log(text);

//Regex start  


    var name = text.match(/^([a-zA-Z0-9]+|[a-zA-Z0-9]+\s{1}[a-zA-Z0-9]{1,}|[a-zA-Z0-9]+\s{1}[a-zA-Z0-9]{3,}\s{1}[a-zA-Z0-9]{1,})/img);
    var email = text.match(/.{1,}@[^.]{1,}/i);
    var occupation = text.match(/ (Health and|Safety|Specialist|Pilot|Engineer|Nurse|Doctor|Pharmacist|Professional|Microbiologist|Business|Development|Public|Srategist|Communication|Expert|Technical|Operations|Management|Specialist|Administrative|Professional)/img)
    var phone = text.match(/^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*/img);

    //var phone = matchAll(text, /^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$/).toArray()
    console.log(occupation)
    console.log(name)
    console.log(phone)
    console.log(email)
    res.render('cv', {email:email, name:name, phone:phone, occupation:occupation });
})
.done(

    );

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...