JSFiddle - React, Tailwind, and code Playground

HTML

<div id="container">
  
</div>

JavaScript

var re = /([0-9]{8}_)(abc|def)(?:_xx)?(\.pdf)/;
var tests = [
  '20160131_abc.pdf',
  '20160131_abc_xx.pdf',
  '20160131_def.pdf'
];
var container = document.getElementById('container');
tests.forEach(function(test){
  container.innerHTML += "test:"+test+" &rarr; ";
  var match = test.match(re);
  container.innerHTML += match.slice(1).join('')+"<br/>";
});